• 二叉树


    二叉树

    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);
                }
            }
        }
    
    }
    

      

  • 相关阅读:
    实现第三方系统单点登录
    python爬虫
    webot设备motor的api
    webots学习
    python学习算术运算
    python快捷键与命令函数
    python学习构造和析构
    python学习对象相关的bif
    python学习对象:拾遗
    matlab基础知识
  • 原文地址:https://www.cnblogs.com/wangfeihu/p/9256300.html
Copyright © 2020-2023  润新知