• 24.二叉树中和为某一值的路径。


    题目描述:

      输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)

    思路分析:

      这道题为二叉树的问题,首先想到的也是递归思想,要求的是和为target的所有路径,那么我们就从根开始先序遍历二叉树,遍历到一个节点,target减去该节点的值,知道target为0,且遍历到的当前节点为叶子节点,那么就找到了一跳路径,然后进行回溯,找下一条路径,按照先序遍历的过程进行查找,最终找到所有的路径。

    代码:

    /**
    public class TreeNode{
      int val=0;
      TreeNode left=null;
      TreeNode right=null;
      public TreeNode(int val){
      this val=val;
      }
    }
    */
    public class Solution{
        ArrayList<ArrayList<Integer>>res=new ArrayList<>();
        ArrayList<Integer>list=new ArrayList<>();
        public ArrayList<ArrayList<Integer>>FindTargetSum(TreeNode root,int target){
            if(root==null)
                return res;
            list.add(root.val);
            target=target-root.val;
            if(target==0&&root.left==null&&root.right==null){
                res.add(new ArrayList<Integer>(list));   //找到一条路径
            }
            FindTargetSum(root.left,target);
            FindTargetSum(root.right,target);
            list.remove(list.size()-1);
            return res;
        }
    }
    
  • 相关阅读:
    select在各个浏览器中的兼容性问题
    pc打开手机站提示切换为手机屏幕
    图片预加载
    div盒子水平垂直居中的方法
    如何检测该浏览器为微信浏览器
    小箭头的写法,z-index在ie7显示混乱问题
    微信a标签不跳转
    css font简写规则
    windows环境cmd下执行jar
    docker制作镜像步骤
  • 原文地址:https://www.cnblogs.com/yjxyy/p/10744507.html
Copyright © 2020-2023  润新知