二叉树之遍历代码模板

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+"->");  
}
相关推荐
良月澪二12 分钟前
CSP-S 2021 T1廊桥分配
算法·图论
电饭叔26 分钟前
《python语言程序设计》2018版第8章19题几何Rectangle2D类(下)-头疼的几何和数学
开发语言·python
Eternal-Student27 分钟前
everyday_question dq20240731
开发语言·arm开发·php
卑微求AC43 分钟前
(C语言贪吃蛇)11.贪吃蛇方向移动和刷新界面一起实现面临的问题
c语言·开发语言
程序猿小D1 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
wangyue41 小时前
c# 线性回归和多项式拟合
算法
Yvemil71 小时前
RabbitMQ 入门到精通指南
开发语言·后端·ruby
潘多编程1 小时前
Java中的状态机实现:使用Spring State Machine管理复杂状态流转
java·开发语言·spring
&梧桐树夏1 小时前
【算法系列-链表】删除链表的倒数第N个结点
数据结构·算法·链表
QuantumStack1 小时前
【C++ 真题】B2037 奇偶数判断
数据结构·c++·算法