路径与路径和

Backtracking中对字符串的传递处理:用 StringBuilder 传递可以省去递归中新建的 string copies.

StringBuilder 的backtrack也很简单,直接setLength(int len) 

Binary Tree Paths

1.本质是preorder traversal

2.相对于dfs多了一个判断当前node是否是叶子,如果是叶子就backtrack,反之就不backtrack 

2. 在leaf node上使用sb.setLength()来backtracking(因为后面的两个 dfs 都没有做

3. 在叶子处return完相当于左子树的helper跳出进入右子树helper,执行完毕后去dfs,再去backtracking跳到上一层!!!

https://mnmunknown.gitbooks.io/algorithm-notes/content/lu_jing_yu_lu_jing_he.html

113. Path Sum II

 1. 在树上找path都是backtracking,思路和上题一模一样,加到list前判断一下sum


Tree上,一般root不连续,都会想到全局变量!
全局最优解不一定和 root 与 dfs 递归连续,因而用全局变量 int max 解决。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章