美文网首页
二叉树的第k个节点

二叉树的第k个节点

作者: Hammy | 来源:发表于2018-02-01 21:56 被阅读0次

题目:
给定一颗二叉搜索树,请找出其中的第k大的结点。
例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。

思路:
二叉树的中序遍历就是排序后的结果,当前思路就是利用递归的中序列遍历完成.
//todo使用非递归的栈完成

代码:

    public TreeNode KthNode(TreeNode pRoot, int k)
    {
        if(pRoot == null || k <= 0)
            return null;

        ArrayList<TreeNode> arrayList = new ArrayList<>();
        inOrder(pRoot,arrayList);
        if(arrayList.size() < k ){
            return null;
        }
        return arrayList.get(k-1);
    }
    private ArrayList<TreeNode> inOrder(TreeNode node,ArrayList<TreeNode> arrayList){
        if(node == null){
            return null;
        }
        if(node.left != null)
            inOrder(node.left,arrayList);
        arrayList.add(node);
        if(node.right != null)
            inOrder(node.right,arrayList);

        return arrayList;
    }
}

相关文章

  • 相关树

    二叉树 性质: 第 n 层最多有 2(n-1) 个节点 深度为 k 的二叉树最多有 2k - 1 个节点 对于任何...

  • 堆排序

    完全二叉树 完全二叉树:树深为k层,则除k层外,k-1层的节点全满,且第k层的节点向左靠拢 称为完全二叉树 堆 一...

  • 863. All Nodes Distance K in Bin

    二叉树中所有距离为k的节点。 给定一个二叉树,一个目标节点,一个整数值k,返回到目标节点距离为k的所有节点的值的列...

  • 2018-07-12

    今天实现的1.二叉树中,找所有的左叶子节点2.二叉树的中序遍历找第K个,后继节点优化

  • 二叉树

    二叉树性质 1)在二叉树的第i层上最多有2i-1 个节点 。(i>=1)2)二叉树中如果深度为k,那么最多有2k-...

  • 二叉树

    性质 1)在二叉树的第i层上最多有2i-1个节点 。(i>=1) 2)二叉树中如果深度为k,那么最多有2k-1个节...

  • Leetcode 993. 二叉树的堂兄弟节点

    题目描述 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两...

  • Leetcode 993. 二叉树的堂兄弟节点

    题目描述 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两...

  • 2021-06-20

    leetCode 二叉树 二叉树的堂兄弟节点 题目 在二叉树中,根节点位于深度0 处,每个深度为 k 的节点的子节...

  • 树概述

    1.树的概念 2.什么是二叉树,满二叉树(节点的个数为:2的k次方-1个 k代表深度), 完全二叉树(除了最深...

网友评论

      本文标题:二叉树的第k个节点

      本文链接:https://www.haomeiwen.com/subject/famjzxtx.html