==========================努力奋斗财源广进==========================
给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历).
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* }
*/
public class Solution {
/**
*
* @param root TreeNode类
* @return int整型ArrayList<ArrayList<>>
*/
public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root) {
// write code here
ArrayList<ArrayList<Integer>> res = new ArrayList<>();
if(root == null) return res;
//专门用于二叉树节点的。
Queue<TreeNode> que = new LinkedList<>();
que.offer(root);
while(!que.isEmpty()){
ArrayList<Integer> rst = new ArrayList<>();
int count = que.size();
while(count > 0){
TreeNode node = que.poll();
rst.add(node.val);
if(node.left != null){
que.offer(node.left);
}
if(node.right != null){
que.offer(node.right);
}
count--;
}
res.add(rst);
}
return res;
}
}
//待定
借用队列的性质,每一层将节点按照从左往右的顺序放进队列中。每层每层的循环。
评论区记录复习记录
评论