牛客 二叉树中和为某一值的路径 【时间19ms】【内存9560k】
2024-09-08 18:18:44
https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca
构造函数:new ArrayList(al)把al的所有值复制到 new ArrayList()里,并且 new ArrayList()的值不会随着al的改变而改变。
al0.addAll(al):当al的值改变,al0的值也随之改变。
Collections.copy(des,res):我一直都不知道怎么用= =
ArrayList<ArrayList<Integer>> ans = new ArrayList<>();
ArrayList<Integer> path = new ArrayList<>(); public ArrayList<ArrayList<Integer>> FindPath(TreeNode root, int target) {
dfs(root, 0, target);
return ans;
} void dfs(TreeNode r, int now, int target) {
if (r == null) return;
now += r.val;
if (now > target) return;
if (r.left == null && r.right == null && now != target) return;
path.add(r.val);
if (r.left == null && r.right == null && now == target)
ans.add(new ArrayList<>(path));
else {
dfs(r.left, now, target);
dfs(r.right, now, target);
}
path.remove(path.size() - 1);
}
最新文章
- SearchLookUpEdit
- 使用Fiddler针对Android手机网络请求抓包
- BZOJ1110: [POI2007]砝码Odw
- [整理][LaTex]小技巧之——首行缩进
- 【jQuery】关于选择器中的 :first 、 :first-child 、 :first-of-type
- Java中几种常见的排序方式
- 【第二篇】.NET用NPOI读取Excel表格并在页面预览
- Linux权限管理(笔记)
- C#中结构与类的区别
- The tempfile module
- JAVA基础知识(2)--队列的操作
- 第五章之S5PV210将u-boot.bin从SD卡中搬到DDR中
- Gradle 1.12用户指南翻译——第三十三章. PMD 插件
- Oracle 查看链接数、创建索引等的DDL语句
- k8s调度器、预选策略及调度方式
- Git初始化及配置
- 学习Struts--Chap01:了解Struts2
- .1-浅析webpack源码之webpack.cmd
- T-SQL检查停止的复制作业代理,并启动 (转载)
- Android -- queryIntentActivities