层遍历二叉树
来源:互联网 发布:搜狐影音 mac版 编辑:程序博客网 时间:2024/05/22 14:50
层遍历二叉树
规则:
如果这个节点有值,则打印“值!"
如果这个节点没有值,则打印“#!”
从上到下,从左到右
比如:
1
2 3
4 null null 5
null null null null
代码:
package com.sangfor.tree;public class Node {public int value;public Node left;public Node right;public Node(int value) {this.value = value;}}
package com.sangfor.tree;import java.util.LinkedList;import java.util.Queue;public class LinePrintTree { public static void main(String[] args) {Node node1 =new Node(1);Node node2 =new Node(2);Node node3 =new Node(3);Node node4 =new Node(4);Node node5 =new Node(5);node1.left = node2;node1.right = node3;node2.left = node4;node3.right = node5;String s = linePrientTree(node1);System.out.println(s);} public static String linePrientTree(Node head) { if (head == null) { return "#!"; } String s = ""; Queue<Node> queue = new LinkedList<Node>(); queue.offer(head);s += head.value+"!"; while (!queue.isEmpty()) { head = queue.poll(); if (head.left != null) { queue.offer(head.left); s += head.left.value + "!"; } else { s += "#!"; } if (head.right != null) { queue.offer(head.right); s += head.right.value + "!"; } else { s += "#!"; } } return s; }}
结果:
1!2!3!4!#!#!5!#!#!#!#!
0 0
- 二叉树层遍历
- 层遍历二叉树
- 按层遍历二叉树
- 层序遍历二叉树
- 层序遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 二叉树层次序遍历
- 二叉树的层遍历
- 层序遍历二叉树
- 按层遍历二叉树
- 层序遍历二叉树
- 二叉树-层序遍历
- 二叉树------层序遍历
- 层序遍历二叉树
- 层序遍历二叉树
- 浅析View工作原理
- Unity Game窗口中还原Scene窗口摄像机操作 强化版
- Properties的简单使用
- 死锁
- 做题时候的小技巧(长期更新)
- 层遍历二叉树
- 浏览器兼容
- 浅谈Java多线程(synchronized实现可见性)
- Linux软连接和硬链接
- 工厂模式(Factory)-设计模式(一)
- Codeforces Round #338 (Div. 2)D. Multipliers【费马小定理+组合数学】
- PowerDesigner生成Excel版本的数据库文件
- 本地线程管理、仿ThreadLocal
- java 虚拟机--新生代与老年代GC