码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 783. Minimum Distance Between BST Nodes ---中序遍历

时间:2018-02-15 21:57:00      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:val   传引用   pos   sel   blog   最小   ini   des   object   

过年晚上无聊,233333333

题解:

BST树的中序遍历是有序的,遍历过程中,记录前一个值,然后和当前值比较,来更新最小的minimum distance

注意python参数传递时候,像list这些object是传引用,单独int的数是传值的

 void getans(TreeNode* root,int &pre,int &ans)
{
    if(root==NULL) return;
    getans(root->left,pre,ans);
    if(pre!=INT_MAX)
        ans=min(ans,abs(pre-root->val));
    pre=root->val;
    getans(root->right,pre,ans);
}
int minDiffInBST(TreeNode* root) {
    int ans=INT_MAX,pre=INT_MAX;
    getans(root,pre,ans);
    return ans;
}

  

import sys
class Solution(object):
    def getans(self,root,pre,ans):
        if root==None:
            return ;
        self.getans(root.left,pre,ans);
        if pre[0]!=sys.maxint:
            ans[0]=min(ans[0],abs(pre[0]-root.val));
        pre[0]=root.val;
        self.getans(root.right,pre,ans);

    def minDiffInBST(self,root):
        """
        :type root: TreeNode
        :rtype: int
        """
        ans=[sys.maxint]
        pre=[sys.maxint]
        self.getans(root,pre,ans)
        return ans[0];

  

leetcode 783. Minimum Distance Between BST Nodes ---中序遍历

标签:val   传引用   pos   sel   blog   最小   ini   des   object   

原文地址:https://www.cnblogs.com/wuxiangli/p/8449822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!