剑指 Offer 54. 二叉搜索树的第k大节点


剑指 Offer 54. 二叉搜索树的第k大节点

解题思路

很简单的中序遍历

代码

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    List<Integer> list = new ArrayList<>();
    public int kthLargest(TreeNode root, int k) {
        help(root);

        int size = list.size();
        //第一大,也就是数组最后一个元素,下标应该为size-1 即size-k
        return list.get(size - k);
    }

    //进行中序遍历
    public void help(TreeNode root) {
        if (root == null) {
            return;
        }
        help(root.left);
        list.add(root.val);
        help(root.right);
    }
}

文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录