本文主要是介绍Letter Case Permutation leetcode 784,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目大意:字符串中每一个字母(A-Za-z)的大小写不同视为不同的字母大小写排列,给定一个字符串,返回所有的排列。
题目分析:字符串中如果有 n 个字母,返回的结果就会有 2^n 种。可以使用迭代或递归来遍历 2^n 种情况,但是代码会多一些。看过了discussion 后,发现了 2 行 的 python 写法,利用 product 函数来将结果积起来。下面给出一种 Ruby 的写法,只需要一行。
Ac code:
def letter_case_permutation(s)[""].product(*(s.chars.map{|l|[l.upcase, l.downcase].uniq})).map(&:join)
end
这篇关于Letter Case Permutation leetcode 784的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!