• 判断树是否为搜索树


    搜索树:左节点小于中间节点,中间节点大于右边节点

    思路:利用中序遍历

    import java.util.ArrayList;
    import java.util.List;
    
    public class Main {
    
        private static void temp(Node tree,List<Integer> list){
            if(tree == null){
                return ;
            }
            temp(tree.left,list);
            list.add(tree.value);
            temp(tree.right,list);
        }
    
        public static boolean binarySearchTree(Node tree){
            List<Integer> list = new ArrayList<Integer>();
           temp(tree,list);
           for(int i=0;i<list.size()-1;i++){
               if(list.get(i)>list.get(i+1)){
                   return false;
               }
           }
           return true;
    
        }
    
    
        public static void main(String[] args) {
            Node tree = new Node(5);
            Node left = new Node(7);
            Node right = new Node(6);
            tree.left = left;
            tree.right = right;
            System.out.println(binarySearchTree(tree));
    
    
        }
    
        static class Node{
            int value;
            Node left;
            Node 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;
            }
    
            public Node(int value, Node left, Node right) {
                this.value = value;
                this.left = left;
                this.right = right;
            }
    
            public Node(int value) {
                this.value = value;
            }
        }
    }
  • 相关阅读:
    团队选题报告
    第二次结对作业
    高级软件工程团队第一次作业
    第一次结队作业
    高级软件工程第二次作业
    高级软件工程第一次作业
    洛谷 题解 2165 [AHOI2009]飞行棋
    洛谷 题解 P1684 考验
    洛谷 题解 P4613 【[COCI2017-2018#5] Olivander】
    洛谷 题解 P5534 【【XR-3】等差数列】
  • 原文地址:https://www.cnblogs.com/zhaolei1996/p/12456417.html
Copyright © 2020-2023  润新知