zoukankan      html  css  js  c++  java
  • leetcode783

    对BST树进行中序遍历,得到递增序列,然后依次计算相邻两元素之间的差,并保存最小的差。

    class Solution {
    public:
        vector<TreeNode*> V;
        void postTree(TreeNode* node)
        {
            if (node != NULL)
            {
                if (node->left != NULL)
                {
                    postTree(node->left);
                }
                V.push_back(node);
                if (node->right != NULL)
                {
                    postTree(node->right);
                }
            }
        }
        int minDiffInBST(TreeNode* root) {
            postTree(root);
            int min = INT_MAX;
            if (V.size() < 2)
            {
                return 0;
            }
            int last = V[0]->val;
            for (int i = 1; i < V.size(); i++)
            {
                int diff = V[i]->val - last;
                if (min > diff)
                {
                    min = diff;
                }
                last = V[i]->val;
            }
            return min;
        }
    };
  • 相关阅读:
    Vue
    Vue
    Vue
    Vue
    Vue
    kubernetes
    kubernetes
    kubernetes
    django源码bug解决方案
    UNI-APP 桌面LOGO角标设置(ios)
  • 原文地址:https://www.cnblogs.com/asenyang/p/9732479.html
Copyright © 2011-2022 走看看