最近开始刷力扣的算法题了,于是就想在这边记录下每天做的几道题中我自己比较生疏的算法题以及一些理解,防止自己做过就忘。
leetcode 17题:
题目大意:数字到字母的映射与电话按键相同,给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。
代码段(java):
回溯函数的逐条解释:
index在刚刚进入回溯函数时的初始值为0,相当于是digits字符串的每一个元素的下标,而当index和字符串的长度相同时,即一条分支的纵向遍历的结束;
一些赋值,没什么好解释的;
这边可以理解为数字字符singleNum对应的字母的横向遍历,在每一次的for循环中index+1保证了纵向的遍历。
举个例子
比如:字符串:”23”,应该返回"ad","ae","af","bd","be","bf","cd","ce","cf"