美文网首页leetcode和算法----日更
leetcode530 二叉搜索树的最小绝对差 leetcode

leetcode530 二叉搜索树的最小绝对差 leetcode

作者: Arsenal4ever | 来源:发表于2020-01-29 22:03 被阅读0次

第一题中序遍历,遍历出来的二叉树是有序的,再找最小值即可。

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def getMinimumDifference(self, root: TreeNode) -> int:
        self.values = []
        self.inOrderTravel(root)
        self.answer = float('inf')
        for i in range(len(self.values)-1):
            self.answer = min(self.answer, abs(self.values[i] - self.values[i+1]))
        return self.answer

    def inOrderTravel(self, root):
        if not root:
            return
        if root.left:
            self.inOrderTravel(root.left)
        self.values.append(root.val)
        if root.right:
            self.inOrderTravel(root.right)

第二题直接一直除三,看看能不能除进就好

class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        while n >= 3:
            if n % 3 != 0:
                return False
            n /= 3
        return n == 1

相关文章

网友评论

    本文标题:leetcode530 二叉搜索树的最小绝对差 leetcode

    本文链接:https://www.haomeiwen.com/subject/ksubthtx.html