zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 113 路径总和 II

    113. 路径总和 II

    给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。

    说明: 叶子节点是指没有子节点的节点。

    示例:
    给定如下二叉树,以及目标和 sum = 22,

              5
             / 
            4   8
           /   / 
          11  13  4
         /      / 
        7    2  5   1
    

    返回:

    [
    [5,4,11,2],
    [5,8,4,5]
    ]

    
    class Solution {
       public List<List<Integer>> pathSum(TreeNode root, int sum) {
            if(root == null) return new ArrayList<>();
            List<List<Integer>> ans = new ArrayList<>();
            if(root.val == sum && root.left == null && root.right == null){
                List<Integer> arr = new ArrayList<>();
                arr.add(root.val);
                ans.add(arr);
                return ans;
            }
            List<List<Integer>> left = pathSum(root.left,sum - root.val);
            List<List<Integer>> right = pathSum(root.right,sum - root.val);
            for(List<Integer> list : left){
                //这里的插入到指定坐标会让后面的自动向后排序
               list.add(0,root.val);
               ans.add(list);
            }
            for(List<Integer> list : right){
               list.add(0,root.val);
               ans.add(list);
            }
            return ans;
        }
    }
    
  • 相关阅读:
    Python使用selenium(二)
    自动化测试
    测试要求
    测试用例编写
    求职杂谈
    不会交谈的测试员,果然不是一个好的测试员
    浅谈微信小程序测试
    python 匿名函数lambda的用法
    python __xx__的定义和用处
    看django的感受
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12946798.html
Copyright © 2011-2022 走看看