zoukankan      html  css  js  c++  java
  • 二叉搜索树的第k个结点

    题目描述

    给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8)中,按结点数值大小顺序第三小结点的值为4。

    解题思路

    因为中序遍历有序,所以直接对这颗树进行中序遍历就好,当遍历到第k个点时候,即为所求点

    参考代码

    /*
    public class TreeNode {
        int val = 0;
        TreeNode left = null;
        TreeNode right = null;
    
        public TreeNode(int val) {
            this.val = val;
        }
    }
    */
    public class Solution {
        int index = 0;
        TreeNode KthNode(TreeNode pRoot, int k)
        {
            if(pRoot != null){
                TreeNode node = KthNode(pRoot.left, k);
                if(node != null)
                    return node;
                index ++;
                if(index == k)
                    return pRoot;
                node = KthNode(pRoot.right, k);
                if(node != null)
                    return node;
            }
            return null;
        }
    }
  • 相关阅读:
    word2vec原理
    tensorboard
    更换pip源到国内镜像
    pycharm打包exe
    whl文件下载
    pycharm连git和gitee
    Django基础
    mysql相关
    安装anaconda及pytorch
    VSCode 配置python
  • 原文地址:https://www.cnblogs.com/DreamKill/p/12275021.html
Copyright © 2011-2022 走看看