leetcode和算法----日更

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

2020-01-29  本文已影响0人  Arsenal4ever

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

# 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
上一篇 下一篇

猜你喜欢

热点阅读