第一次通过,有些冗杂,但思路是这样的

二叉树中和为某一值的路径

http://www.nowcoder.com/questionTerminal/b736e784e3e34731af99065031301bca

public static ArrayList<ArrayList<Integer>> FindPath(TreeNode root, int target) {
    ArrayList<ArrayList<Integer>> res = new ArrayList<>();  ArrayList<Integer> t_res = new ArrayList<>();  helper(root, res, t_res,0, target);  return res; } private static void helper(TreeNode root, ArrayList<ArrayList<Integer>> res, ArrayList<Integer> t_res,int sum, int target) { if(root==null) return;  if(root.left==null&&root.right==null){//叶子节点  if(sum+root.val==target){//正好  t_res.add(root.val);  res.add(new ArrayList<>(t_res));  //回溯上一个节点  if(!t_res.isEmpty()){
                t_res.remove(t_res.size() - 1);  }
        } else { return;  }
    } else { if(sum+root.val>target){ return;  } else {
            sum += root.val;  t_res.add(root.val);  if(root.left!=null){helper(root.left,res,t_res,sum,target);} if(root.right!=null){helper(root.right,res,t_res,sum,target);}
            t_res.remove(t_res.size() - 1);  }
    }
}
全部评论
嗷嗷,懂了
点赞 回复 分享
发布于 2020-01-04 14:02
请问最后t_res.remove(t_res.size() - 1)是什么意思
点赞 回复 分享
发布于 2020-01-04 14:00

相关推荐

03-06 20:09
贵州大学 Java
King987:你这个学历找个中大厂刷实习经历都是可以的,但是项目要有亮点才行,这个什么外卖就不要做了,去找找最新的项目,至少涉及高并发或者是新型的AI技术mcp rag啥的 ,我在出简历点评,但是你这个没什么好点评的,内容太少,而且含金量太低。自己改一改吧,或者看一下我的项目地址中,那里有大厂最近做过的实习项目
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务