zoukankan      html  css  js  c++  java
  • 二叉树

    二叉树

    import java.util.ArrayList;
    import java.util.List;
    
    public class Test05 {
        public static void main(String[] args) {
    
            Node node4 = new Node(4, null, null);
            Node node5 = new Node(7, null, null);
            Node node2 = new Node(1, node4, node5);
            Node node3 = new Node(2, null, null);
            Node node1 = new Node(3, node2, node3);
            Test05 tsr = new Test05();
            System.out.println(tsr.check(node1, 8));
    
        }
    
        static class Node {
            //本节点的值
            int value;
            //左侧叶子节点,如果没有则为null
            Node left;
            //右侧叶子节点,如果没有则为null
            Node right;
    
            public Node(int value, Node left, Node right) {
                this.value = value;
                this.left = left;
                this.right = right;
            }
    
            public int getValue() {
                return value;
            }
    
            public void setValue(int value) {
                this.value = value;
            }
    
            public Node getLeft() {
                return left;
            }
    
            public void setLeft(Node left) {
                this.left = left;
            }
    
            public Node getRight() {
                return right;
            }
    
            public void setRight(Node right) {
                this.right = right;
            }
        }
    
        boolean check(Node root, int sum) {
            List<Integer> sumList = new ArrayList<>();
            int i = 0;
            sumReturn(root, i, sumList);
            System.out.println(sumList);
            if (sumList.contains(sum)) {
                return true;
            }else {
                return false;
            }
        }
    
        private void sumReturn(Node root, int i, List<Integer> sumList) {
            i = i + root.value;
            if (root.left == null && root.right == null) {
                sumList.add(i);
            } else {
                if (root.left != null) {
                    sumReturn(root.left, i, sumList);
                }
                if (root.right != null) {
                    sumReturn(root.right, i, sumList);
                }
            }
        }
    
    }
    

      

  • 相关阅读:
    numpy计算路线距离
    WebApi安全性 使用TOKEN+签名验证
    从SQL查询分析器中读取EXCEL中的内容
    Autofac应用总结
    Visual Studio提示“无法启动IIS Express Web服务器”的解决方法
    架构 : 三层架构、MVC、MVP、MVVM
    Asp.Net MVC :路由器
    myeclipse10安装egit和使用
    myeclipse10.7安装git插件
    SQLite之C#连接SQLite
  • 原文地址:https://www.cnblogs.com/wangfeihu/p/9256300.html
Copyright © 2011-2022 走看看