• leetcode—98. 验证二叉搜索树


    也不是我做出来的,,

    class Solution(object):
        def isValidBST(self, root):
            """
            :type root: TreeNode
            :rtype: bool
            """
            res=[]
            def helper(root):
                if not root:
                    return True
                helper(root.left)
                res.append(root.val)
                helper(root.right)
            helper(root)
            return res==sorted(res) and len(set(res))==len(res)
    执行用时 :36 ms, 在所有 python 提交中击败了85.49%的用户
    内存消耗 :17.7 MB, 在所有 python 提交中击败了5.07%的用户
     
    ——2019.11.7

     
    自己写了一遍,用中序遍历的列表顺序进行判断的,不是很好的样子。
    public boolean isValidBST(TreeNode root) {
            ArrayList<Integer> list = new ArrayList<>();
            inOrder(root,list);
            int[] a = list.stream().mapToInt(Integer::valueOf).toArray();
            int[] b = Arrays.copyOf(a,a.length);
            Arrays.sort(a);
            if(a.length>1) {
                for (int i = 1; i < a.length; i++) {
                    if (a[i] == a[i - 1]) {
                        return false;
                    }
                }
            }
            return Arrays.equals(a, b);
        }
        //中序遍历
        private void inOrder(TreeNode node,ArrayList<Integer> list){
            if(node == null){
                return;
            }
            inOrder(node.left,list);
            list.add(node.val);
            inOrder(node.right,list);
        }

     ——2020.7.1

     
    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    Python for i 循环
    Python 输入分数并评
    用户名和密码的输入
    cocos2d-x 3.0学习
    VS2008 ShotKey
    Cocos2d-x 3.0的安装方法
    VFC
    一、在WIN7 64位系统平台,VS2013环境下安装WTL90_4090_RC1(2014-04-01)
    http://www.vcf-online.org/
    Win7 64位 VS2012 安装 Qt5
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/11810687.html
Copyright © 2020-2023  润新知