package leetcode;
import leetcode.node.TreeNode;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class ZOrder {
public static void main(String[] args) {
}
static class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> ans = new ArrayList();
if (root == null) {
return ans;
}
List<TreeNode> list = new LinkedList();
list.add(root);
boolean left = true;
while (!list.isEmpty()) {
List<TreeNode> cur = new LinkedList();
List<Integer> value = new ArrayList();
int count = 0;
while (!list.isEmpty()) {
TreeNode node = list.remove(0);
if (node != null && node.left != null) {
cur.add(node.left);
} else {
cur.add(null);
count++;
}
if (node != null && node.right != null) {
cur.add(node.right);
} else {
cur.add(null);
count++;
}
if (left) {
if (node != null) {
value.add(node.val);
} else {
value.add(null);
}
} else {
if (node != null) {
value.add(0, node.val);
} else {
value.add(0, null);
}
}
}
ans.add(value);
if (count == cur.size()) {
break;
} else {
list = cur;
left = !left;
}
}
return ans;
}
}
}
2020-06-16
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。