目录
一、二叉树的层序遍历
1、借用队列实现
借用队列实现二叉树的层序遍历
2、使用层序遍历统计一颗二叉树的节点个数
添加一个size属性进行技术操作
/**
* 使用层序遍历统计二叉树的节点数
* @param root
* @return
*/
public int getNodeSequence(TreeNode root){
if (root==null){
return 0;
}
int size=0;
Deque<TreeNode> deque=new LinkedList<>();
deque.offer(root);
while (!deque.isEmpty()){
TreeNode ret=deque.poll();
size++;
if (ret.left!=null){
deque.offer(ret.left);
}
if (ret.right!=null){
deque.offer(ret.right);
}
}return size;
}
二、二叉树层序遍历Leetcode
1、Num101
package binary_tree.LeetCode;
import java.util.Deque;
import java.util.LinkedList;
/**
* 使用层序遍历判断二叉树是否为镜像对称
*/
public class Num101_levelOrderTraversal {
public boolean isSymmetric(TreeNode root) {
if (root==null){
return true;
}
Deque<TreeNode> deque=new LinkedList<>();
//先判断根节点左右子树节点
deque.offer(root.left);
deque.offer(root.right);
while (!deque.isEmpty()){
TreeNode r1=deque.poll();
TreeNode r2=deque.poll();
if (r1==null&r2==null){
continue;
}
if (r1==null||r2==null){
r