path sumII
来源:互联网 发布:linux 脚本修改密码 编辑:程序博客网 时间:2024/06/08 18:20
public class Solution { public ArrayList<Integer> list1 = new ArrayList<Integer>(); public ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); public ArrayList<ArrayList<Integer>> pathSum(TreeNode root, int sum) { if(root==null)return list; dfs(root,sum); return list; } private void dfs(TreeNode node,int sum){ list1.add(node.val); if(node.left!=null){ dfs(node.left,sum-node.val); } if(node.right!=null){ //System.out.println(node.right.val); dfs(node.right,sum-node.val); } if(node.left==null&&node.right==null){ if(sum==node.val){ //System.out.println(list1); //System.out.println(11); //System.out.println(list1); ArrayList<Integer> temp = new ArrayList<Integer>(); for(int i = 0; i<list1.size();i++){ temp.add(list1.get(i)); } list.add(temp); list1.remove(list1.size()-1); return; } else{list1.remove(list1.size()-1);return;} } //System.out.println(list1); list1.remove(list1.size()-1); }/* public static void main(String[] args){ Solution aa =new Solution(); TreeNode root = aa.new TreeNode(2); TreeNode a = aa.new TreeNode(-2); TreeNode ab = aa.new TreeNode(3); root.left = a; root.right=ab; ArrayList<ArrayList<Integer>> c = aa.pathSum(root,5); //int t = c.get(0).get(0); System.out.print(aa.list); }*/}
上面的是错的。
public class Solution { public ArrayList<ArrayList<Integer>> pathSum(TreeNode root, int sum) { ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); ArrayList<Integer> list1 = new ArrayList<Integer>(); if(root==null)return list; dfs(root,sum,list1,list); return list; } private void dfs(TreeNode node,int sum, ArrayList<Integer> list1, ArrayList<ArrayList<Integer>> list){ if(node == null) return; list1.add(node.val); if(node.left!=null){ dfs(node.left,sum-node.val,list1,list); } if(node.right!=null){ dfs(node.right,sum-node.val,list1,list); } if(node.left==null&&node.right==null){ if(sum==node.val){ ArrayList<Integer> temp = new ArrayList<Integer>(list1); list.add(temp); } } list1.remove(list1.size()-1); }}
- path sumII
- LeetCode 113 Path SumII
- Leetcode dfs Path SumII
- Path SumII|leetcode题解
- leetcode_c++:树: Path SumII(113)
- Combination SumII
- Leetcode dfs Combination SumII
- leetcode c++ combination sumII
- LeetCode 040 Combination SumII
- Leetcode之Combination SumII
- 167.[LeetCode]Two SumII
- leetcode(E)two sumII
- leetcode167 Two SumII java
- leetcode01. Two SumII
- [leetcode] Combination Sum and Combination SumII
- Leetcode题集——combination-sum and combination-sumII
- path
- path
- Flex blazeds channelset深度解析
- KMP 算法
- 为什么数据表中都要添加一个业务无关的ID字段
- 合并两个有序链表 递归和非递归的形式
- make_request
- path sumII
- request
- 面试笔试系列4-二维数组和指向指针的指针
- 关于C语言编程中include的用法
- 一个fork的面试题
- stay hungry,stay foolish(来自coolshell)
- 细说c++中 define 和 typedef
- why python
- 莫说人间没有爱,莫说世间没有情,莫寂寞了人间爱,莫冻人间情