算法篇-二叉树

二叉树的遍历

分为前序、中序和后续的遍历,思想就是利用递归。

前序遍历-中左右

代码:

java 复制代码
    public void travelTree(TreeNode node, List<Integer> resulst) {
        if (node == null){
            return;
        }
		
		// 中
        resulst.add(node.val);
        // 左
        travelTree(node.left, resulst);
        // 右
        travelTree(node.right, resulst);
    }

中序遍历-左中右

代码:

java 复制代码
public void travelTree(TreeNode node, List<Integer> resulst) {
        if (node == null) {
            return;
        }
		// 左
        travelTree(node.left, resulst);
        // 中
        resulst.add(node.val);
        // 右
        travelTree(node.right, resulst);
    }

后序遍历-左右中

代码:

java 复制代码
public void travelTree(TreeNode node, List<Integer> resulst) {
        if (node == null) {
            return;
        }
		// 左
        travelTree(node.left, resulst);
        // 右
        travelTree(node.right, resulst);
        // 中
        resulst.add(node.val);
    }

层序遍历

就是一层一层往下遍历就行了。

题目:求一个二叉查找树(BST)的第K大的数

什么是二叉查找树(BST):BST树的特性如下:

解题思路:根据树的特性,对树进行中序遍历,最后取第k大的数即可。

相关推荐
落落落sss2 分钟前
MQ集群
java·服务器·开发语言·后端·elasticsearch·adb·ruby
我救我自己2 分钟前
UE5运行时创建slate窗口
java·服务器·ue5
2401_8532757323 分钟前
ArrayList 源码分析
java·开发语言
爪哇学长27 分钟前
SQL 注入详解:原理、危害与防范措施
xml·java·数据库·sql·oracle
MoFe142 分钟前
【.net core】【sqlsugar】字符串拼接+内容去重
java·开发语言·.netcore
笨小古43 分钟前
路径规划——RRT-Connect算法
算法·路径规划·导航
_江南一点雨1 小时前
SpringBoot 3.3.5 试用CRaC,启动速度提升3到10倍
java·spring boot·后端
<但凡.1 小时前
编程之路,从0开始:知识补充篇
c语言·数据结构·算法
深情废杨杨1 小时前
后端-实现excel的导出功能(超详细讲解)
java·spring boot·excel
智汇探长1 小时前
EasyExcel自定义设置Excel表格宽高
java·excel·easyexcel