import org.apache.commons.collections.CollectionUtils;
import org.eclipse.jetty.util.BlockingArrayQueue;
import scala.concurrent.forkjoin.LinkedTransferQueue;
import java.util.ArrayList;
import java.util.Queue;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
/**
* @Author cuiyifan02
* @Description //TODO
* @Date 2021-07-06
*/
class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
public class Test {
public static void main(String[] args) {
TreeNode node8 = new TreeNode(8);
TreeNode node6 = new TreeNode(6);
TreeNode node10 = new TreeNode(10);
TreeNode node5 = new TreeNode(5);
TreeNode node7 = new TreeNode(7);
TreeNode node9 = new TreeNode(9);
TreeNode node11 = new TreeNode(11);
TreeNode node4 = new TreeNode(4);
TreeNode node3 = new TreeNode(3);
TreeNode node2 = new TreeNode(2);
// node8.left = node6;
// node8.right = node10;
// node6.left = node5;
// node6.right = node7;
// node10.left = node9;
// node10.right = node11;
node5.left = node4;
node5.right = null;
node4.left = node3;
node3.left = node2;
ArrayList<ArrayList<Integer>> res = Print(node5);
System.out.println(res);
}
static ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) {
ArrayList<ArrayList<Integer>> resList = new ArrayList<>();
BlockingQueue<TreeNode> queue = new LinkedBlockingQueue<>();
queue.add(pRoot);
while (!queue.isEmpty()) {
BlockingQueue<TreeNode> queue2 = new LinkedBlockingQueue<>();
ArrayList<Integer> oneList = new ArrayList<>();
while (!queue.isEmpty()) {
try {
TreeNode node = queue.take();
if (node.val != -9999) {
oneList.add(node.val);
queue2.add(node.left == null ? new TreeNode(-9999) : node.left);
queue2.add(node.right == null ? new TreeNode(-9999) : node.right);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (CollectionUtils.isNotEmpty(oneList)) {
resList.add(oneList);
}
queue = queue2;
}
System.out.println(resList);
return resList;
}
}
【算法题】二叉树层级遍历 list套list
最新推荐文章于 2022-05-14 16:44:44 发布