解题思路:回溯算法
树形结构
代码实现:
参数s,startIndex,pointSum
终止条件:pointSum == 3
判断字符串的startIndex到s.size()-1区间(左闭右闭)是否合法,如果合法,加入结果集并返回。
单层递归的逻辑:
for(i = startIndex;i<s.size();i++):
if (isvalid(s,startIndex,i)):(子串)
s.insert(s.begin()+i+1,".")
pointSum += 1
backtracking(s,i+2,pointSum)
s.erase(s.begin() + i +1)
pointSum -= 1
实现过程: