zoukankan      html  css  js  c++  java
  • 【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]
  • 相关阅读:
    vue--一些预设属性
    vue--vux框架的使用
    vue--vConsole
    vue--音乐播放器
    vue--使用vue-cli构建项目
    vue--实例化对象
    vue--数据显示模版上
    CSS--交互效果
    Git SSH公钥配置
    gradle配置国内镜像
  • 原文地址:https://www.cnblogs.com/seyjs/p/9617719.html
Copyright © 2011-2022 走看看