码迷,mamicode.com
首页 > 其他好文 > 详细

前序遍历、中序遍历、后序遍历、层次遍历

时间:2019-04-05 12:20:44      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:中序   import   util   stat   lis   out   value   null   travel   

一、概念

1、前序遍历

  1. 先根节点
  2. 左节点
  3. 右节点

2、中序遍历:

  1. 左节点
  2. 根节点
  3. 右节点

3、后序遍历

  1. 左节点
  2. 右节点
  3. 根节点

4、层次遍历

从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印

 

二、代码

2.1 首先定义TreeNode

public class TreeNode {
    public int value;
    public TreeNode left;
    public TreeNode right;
}

  

2.2 代码

import java.util.*;

public class Solution {

    public static preOrderTravel(TreeNode root) {
        if(root == null) {
            return;
        }

        System.out.println(root.val);
        if(root.left != null) {
            preOrderTravel(root.left);
        }

        if(root.right != null) {
            preOrderTravel(root.right);
        }
    }

    public static void inOrderTravel(TreeNode root) {
        if(root ==  null) {
            return;
        }

        if(root.left != null) {
            inOrderTravel(root.left);
        }

        System.out.println(root.val);

        if(root.right != null) {
            inOrderTravel(root.right);
        }
    }

    public static void postOrderTravel(TreeNode root) {
        if(root == null) {
            return;
        }

        if(root.left != null) {
            postOrderTravel(root.left);
        }

        if(root.right != null) {
            postOrderTravel(root.right);
        }

        System.out.println(root.val);
    }

    public static void fromTopToBottom(TreeNode root) {
        if(root == null) {
            return;
        }

        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.add(root);

        while(queue.isEmpty()) {
            // 移除并返问队列头部的元素    如果队列为空,则返回null
            TreeNode node = queue.poll();
            
            System.out.println(node.val);

            if(node.left != null) {
                queue.add(node.left);
            }

            if(node.right != null) {
                queue.add(node.right);
            }
        }
    }
}

 

前序遍历、中序遍历、后序遍历、层次遍历

标签:中序   import   util   stat   lis   out   value   null   travel   

原文地址:https://www.cnblogs.com/wylwyl/p/10658222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!