二叉树之遍历代码模板

1. 层序遍历/先序遍历DLR


java 复制代码
//定义层序遍历  
public void DLR(root){
Queue<TreeNode> res=new LinkedList<>();  
List<Double> result=new ArrayList<>();  
res.add(root);  
while(!res.isEmpty()){  
    //获取当前层的节点个数  
    int size=res.size();  
    for(int i=0;i<size;i++){  
        //获取当前层节点  
        TreeNode temp=res.peek();  
        res.poll();  
        //获取下一层节点  
        if(temp.left!=null){  
            res.add(temp.left);  
        }  
        if(temp.right!=null){  
            res.add(temp.right);  
        }  
    }  
}
}

2. 中序遍历LDR


java 复制代码
public static void LDR(TreeNode root){  
    if(root==null) return;  
    LDR(root.left);  
    System.out.println(root.val+"->");  
    LDR(root.right);  
}

3. 后序遍历RLD


java 复制代码
public voir LDR(TreeNode root){
	if(root==null) return;  
    LDR(root.left);
    LDR(root.right);   
    System.out.println(root.val+"->");  
}
相关推荐
鱼跃鹰飞16 分钟前
Leetcode1891:割绳子
数据结构·算法
️停云️16 分钟前
【滑动窗口与双指针】不定长滑动窗口
c++·算法·leetcode·剪枝·哈希
charlie11451419119 分钟前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
wjs202421 分钟前
Bootstrap5 消息弹窗
开发语言
资生算法程序员_畅想家_剑魔28 分钟前
Kotlin常见技术分享-02-相对于Java 的核心优势-协程
java·开发语言·kotlin
IT=>小脑虎1 小时前
C++零基础衔接进阶知识点【详解版】
开发语言·c++·学习
nbsaas-boot1 小时前
Go vs Java 的三阶段切换路线图
java·开发语言·golang
码农小韩1 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
微露清风1 小时前
系统性学习C++-第十九讲-unordered_map 和 unordered_set 的使用
开发语言·c++·学习
BBBBBAAAAAi1 小时前
Claude Code安装记录
开发语言·前端·javascript