zoukankan      html  css  js  c++  java
  • 24. dfs数的路径查找

    输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。

    路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

    (注意: 在返回值的list中,数组长度大的数组靠前)

    头疼题。

    参考:https://blog.csdn.net/u014525494/article/details/80978647 

    当然他做的有问题;

    import java.util.ArrayList;
    /**
    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>> result = new ArrayList<ArrayList<Integer>>();
          ArrayList<Integer> arr = new ArrayList<Integer>();
          int num = 0;
        public ArrayList<ArrayList<Integer>> FindPath(TreeNode root,int target) {
            
            if(root==null){
                return result;
            }
            //没有左右节点视为叶子
            boolean isLeaf = root.left==null&&root.right==null;
            num+=root.val;
            
            arr.add(root.val);
            
            //从上到叶子查询
            if(num==target&&isLeaf){
                ArrayList<Integer> path = new ArrayList<Integer>();
                for(int i=0;i<arr.size();i++){
                    path.add(arr.get(i));
                }
                result.add(path);
            }
            if(num<target&&root.left!=null){
                FindPath(root.left,target);
            }
            if(num<target&&root.right!=null){
                FindPath(root.right,target);
            }
            
            num-=root.val;
            //回退,如果不是这个值
            arr.remove(arr.size()-1);
            return result;
        }
    }
    

      

  • 相关阅读:
    为什么选择webpack
    webpack-模块(module)
    AHK 命令行
    icon 多 索引 图标
    win10 鼠标右键 某类文件 资源管理器 卡死
    管道 命令 %errorlevel! 环境变量 优先级 问题 随笔 CMD /V 延迟的环境变量
    SolidWorks 管道 routing
    SolidWorks 工程图 表格 杂
    windows shell 笔记 3
    windows shell 笔记 2
  • 原文地址:https://www.cnblogs.com/wzQingtTian/p/10662939.html
Copyright © 2011-2022 走看看