lc102二叉树的层序遍历
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)
/*
*
* lc102树的层序遍历
* author: sanmu
*/
public class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> lists = new LinkedList<List<Integer>>();
if(root == null){
return lists;
}
Queue<TreeNode> queue = new LinkedList<TreeNode>();
queue.offer(root);
while (!queue.isEmpty()) {
Queue<TreeNode> queue_temp = new LinkedList<TreeNode>();
TreeNode treeNode;
List<Integer> list = new ArrayList<Integer>();
while ((treeNode = queue.poll()) != null) {
list.add(treeNode.val);
if (treeNode.left != null) {
queue_temp.offer(treeNode.left);
}
if (treeNode.right != null) {
queue_temp.offer(treeNode.right);
}
}
lists.add(list);
queue = queue_temp;
}
return lists;
}
}
AC截图
本人公众号,里面有很好多玩的东西哦,快来探索吧