路径与路径和

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 解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值