LeetCode 17. 电话号码的字母组合(回溯)

题目描述

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

在这里插入图片描述

思路

详见链接

代码

class Solution:
	def letterCombination(self,digits):
		output = []
		phone = {'2':['a','b','c'],
				'3':['d','e','f'],
				'4':['g','h','i'],
				'5':['j','k','l'],
				'6':['m','n','o'],
				'7':['p','q','r','s'],
				'8':['t','u','v'],
				'9':['w','x','y','z'],
		}
		def	backtrack(combination,next_digits):
			if len(next_digits) == 0:
				output.append(combination)
			else:
				for letter in phone[next_digits[0]]:
					backtrack(combination+letter,next_digits[1:])
		if digits:
			backtrack("",digits)
		return output
发布了91 篇原创文章 · 获赞 274 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_37763870/article/details/104603737