zoukankan      html  css  js  c++  java
  • leetcode-17-BST

    530. Minimum Absolute Difference in BST

    Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes.

    解题思路:

    先序遍历,存下来,然后排序,找临近两个的最小差值。

    效率不高。。。后面再想想怎么改进???

    class Solution {
    public:
        int getMinimumDifference(TreeNode* root) {
            get(root);
            sort(nodes.begin(), nodes.end());
            int Mini = abs(nodes[0]-nodes[1]);
            for (int i = 1; i < nodes.size(); i++) {
                Mini = min(Mini, abs(nodes[i]-nodes[i-1]));
            }
            return Mini;
        }
        void get(TreeNode* root) {
            if (root)
                nodes.push_back(root->val);
            if (root->left)
                get(root->left);
            if (root->right)
                get(root->right);
        }
    private:
        vector<int> nodes;
        
    };

    235. Lowest Common Ancestor of a Binary Search Tree

    解题思路:

    直接找。。如果p,q的值大于root,就到右子树找;如果都小于root,就到左子树找,否则返回root。

    TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
            if (p->val < root->val && q->val < root->val)
                return lowestCommonAncestor(root->left, p, q);
            if (p->val > root->val && q->val > root->val)
                return lowestCommonAncestor(root->right, p, q);
            return root;
        }

  • 相关阅读:
    vue.config.js的配置与注释
    Git Pages,使用gh-pages分支显示静态网站
    git subtree 公共仓库
    vue之计算属性
    前端模块化AMD和CMD
    jQuery实现表单全选反选,简洁,好用
    vue之点击切换样式
    vue之本地代理解决跨域问题
    ES6
    jQuery 总结
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6632739.html
Copyright © 2011-2022 走看看