二叉树的层次遍历输出

来源:互联网 发布:淘宝联名信用卡额度 编辑:程序博客网 时间:2024/04/29 21:52

从上到下层次遍历二叉树,并打印输出,使用的是队列,依次存储,输出的时候先把队首输出,同时去除队首元素。
上代码:

package binaryTree;import java.util.LinkedList;import java.util.Queue;/** * 二叉树的层次遍历,使用队列 *  * @author duola * */public class cengcibianli {    public static class treeNode {        int val;        treeNode leftNode;        treeNode rightNode;    }    public static void cengci(treeNode root) {        if (root == null)            return;        Queue<treeNode> list = new LinkedList<>();        list.add(root);        treeNode currNode;        while (!list.isEmpty()) {            currNode = list.remove();            System.out.print(currNode.val + "\t");            if (currNode.leftNode != null) {                list.add(currNode.leftNode);            }            if (currNode.rightNode != null) {                list.add(currNode.rightNode);            }        }    }    public static void main(String[] args) {        treeNode rootNode = new treeNode();        treeNode root = new treeNode();        root.val = 1;        root.leftNode = new treeNode();        root.leftNode.val = 2;        root.leftNode.leftNode = new treeNode();        root.leftNode.leftNode.val = 3;        root.leftNode.rightNode = new treeNode();        root.leftNode.rightNode.val = 4;        root.rightNode = new treeNode();        root.rightNode.val = 5;        root.rightNode.leftNode = new treeNode();        root.rightNode.leftNode.val = 6;        root.rightNode.rightNode = new treeNode();        root.rightNode.rightNode.val = 7;        cengci(root);    }}
0 0
原创粉丝点击