Kth Smallest Element in a BST

在BST中找到第k小的数。
递归

class Solution:
    # @param {TreeNode} root
    # @param {integer} k
    # @return {integer}
    def kthSmallest(self, root, k):
        num_left_nodes=self.num_nodes(root.left)
        print num_left_nodes
        if num_left_nodes+1>k:
            return self.kthSmallest(root.left,k)
        elif num_left_nodes+1==k:
            return root.val
        else:
            return self.kthSmallest(root.right,k-num_left_nodes-1)
    def num_nodes(self,root):
        if root is None:
            return 0
        else:
            return self.num_nodes(root.left)+self.num_nodes(root.right)+1
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011453732/article/details/46894181
个人分类: leetcode 算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Kth Smallest Element in a BST

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭