mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
@ -145,22 +145,22 @@ if (cur->right) {
|
||||
}
|
||||
```
|
||||
|
||||
此时就没有回溯了,这个代码就是通过不了的了。
|
||||
因为在递归右子树之前需要还原path,所以在左子树递归后必须为了右子树而进行回溯操作。而只右子树自己不添加回溯也可以成功AC。
|
||||
|
||||
如果想把回溯加上,就要 在上面代码的基础上,加上回溯,就可以AC了。
|
||||
因此,在上面代码的基础上,再加上左右子树的回溯代码,就可以AC了。
|
||||
|
||||
```CPP
|
||||
if (cur->left) {
|
||||
path += "->";
|
||||
traversal(cur->left, path, result); // 左
|
||||
path.pop_back(); // 回溯
|
||||
path.pop_back();
|
||||
path.pop_back(); // 回溯,抛掉val
|
||||
path.pop_back(); // 回溯,抛掉->
|
||||
}
|
||||
if (cur->right) {
|
||||
path += "->";
|
||||
traversal(cur->right, path, result); // 右
|
||||
path.pop_back(); // 回溯
|
||||
path.pop_back();
|
||||
path.pop_back(); // 回溯(非必要)
|
||||
path.pop_back();
|
||||
}
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user