题目要求:给你一个字符串 s
,请你将s
分割成一些子串,使每个子串都是回文串。返回 s
所有可能的分割方案
示例 1:
输入:s = "aab" 输出:[["a","a","b"],["aa","b"]]
示例 2:
输入:s = "a" 输出:[["a"]]
上述为常规做法,这里回溯的时候是i+1的,就很正常
这是我第一次做的时候自己憋出来的,在第一次我让i=startIndex,这时切割总是会出空串,为此我在isTrue中增加了如果是空则返回false,然后我发现这样做i在第一轮的时候永远是空过的,如果再使用backtracking(i+1)
那就相当于startIndex其实是startIndex+2。 因此这里的i其实是在for内就已经完成了+1,不能再在回溯的时候+1。主要是保证startIndex每一轮只+1,树层才可以正常的逐级增长。
结语:回溯法画树确实能让人想清楚结构和过程
标签:分割,示例,leetcode131,startIndex,回溯,回文 From: https://www.cnblogs.com/kun1790051360/p/18077550