描述
给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)
题目解法:没有什么特别之处,就是利用BFS算法思想对树进行求解。
public class Solution {
/**
*
* @param root TreeNode类
* @return int整型ArrayList<ArrayList<>>
*/
public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root) {
// write code here
LinkedList<TreeNode> list=new LinkedList<>();
ArrayList<ArrayList<Integer>> ary=new ArrayList<>();
list.add(root);
TreeNode node;
while(!list.isEmpty())
{
ArrayList<Integer> temp=new ArrayList<>();
int size =list.size();
for(int i=0;i<size;i++)
{
node=list.poll();
if(node==null) continue;
temp.add(0,node.val);
list.offer(node.right);
list.offer(node.left);
}
if(temp.size()!=0) ary.add(temp);
}
return ary;
}
}