字符串的排列
3.如果有多个相同的字符,排列可能出现重复排列的情况,因此我们可以先将数组进行排序,将相同的字符放在一起,这样如果下一个遇到的字符和上一个相同,那么我们就可以直接跳过去.因为它们两个交换不会产生新的排列.1.我们可以先固定第一个字符,求剩下n-1个字符的排列情况.求剩下n-1字符的排列情况,就变成了一个子问题,最终我们可以分解成求1个字符的排列情况.这里我们可以利用栈的思路逐级向下递归.空间复杂度:O(n),递归栈的最大深度为字符串长度n,临时字符串temp的空间也为O(n),res属于返回必要空间。
原创
2024-06-03 00:08:43 ·
337 阅读 ·
0 评论