• 【leetcode】230. Kth Smallest Element in a BST


    题目如下:

    解题思路:本题对运行时间的要求比较低,我试过把遍历所有节点并且把节点的值存入数组,最后排序并取第K-1位的元素作为结果返回也能通过。我的方法是省去了最后排序的步骤,因为BST的规律就是 node.left.val < node.val < node.right.val,所以只要按照中序遍历的方式遍历树即可。

    代码如下:

    # Definition for a binary tree node.
    class TreeNode(object):
        def __init__(self, x):
            self.val = x
            self.left = None
            self.right = None
    
    class Solution(object):
        res = []
        def traverse(self,node):
            if node.left != None:
                self.traverse(node.left)
            self.res.append(node.val)
            if node.right != None:
                self.traverse(node.right)
    
        def kthSmallest(self, root, k):
            """
            :type root: TreeNode
            :type k: int
            :rtype: int
            """
            self.res = []
            self.traverse(root)
            return self.res[k-1]
  • 相关阅读:
    requests模块
    爬虫基础
    forms组件
    分页器组件
    cookie与session组件
    Auth模块
    中间件组件
    git
    Ajax
    《Java程序设计》实验二 实验报告
  • 原文地址:https://www.cnblogs.com/seyjs/p/9617719.html
Copyright © 2020-2023  润新知