什么亲子网站可以做一下广告词,长城宽带做网站,开设类似于京东商城这类购物网站,汕头专业的开发网站方案目录 题目1-思路2- 实现⭐102. 二叉树的层序遍历——题解思路 3- ACM实现3-1 二叉树构造3-2 整体实现 题目
原题连接#xff1a;102. 二叉树的层序遍历 1-思路
1.借助队列 Queue #xff0c;每次利用 ①while 循环遍历当前层结点#xff0c;②将当前层结点的下层结点放入 … 目录 题目1-思路2- 实现⭐102. 二叉树的层序遍历——题解思路 3- ACM实现3-1 二叉树构造3-2 整体实现 题目
原题连接102. 二叉树的层序遍历 1-思路
1.借助队列 Queue 每次利用 ①while 循环遍历当前层结点②将当前层结点的下层结点放入 Queue中2.每遍历一个结点将值收集到 iterm 中每一层遍历完将结果存到 res 中 2- 实现
⭐102. 二叉树的层序遍历——题解思路 class Solution {// 结果ListListInteger res new ArrayList();public ListListInteger levelOrder(TreeNode root) {QueueTreeNode queue new LinkedList();if(rootnull){return res;}queue.offer(root);while(!queue.isEmpty()){int len queue.size();ListInteger iterm new ArrayList();while(len0){TreeNode node queue.poll();iterm.add(node.val);if(node.left!null){queue.offer(node.left);}if(node.right!null){queue.offer(node.right);}len--;}res.add(new ArrayList(iterm));}return res;}
}3- ACM实现
3-1 二叉树构造 public static TreeNode build(Integer[] nums){// 借助 queue 来实现二叉树构造QueueTreeNode queue new LinkedList();TreeNode root new TreeNode(nums[0]);queue.offer(root);int index 1;while (!queue.isEmpty() index nums.length){TreeNode node queue.poll();if(nums[index]!null indexnums.length){node.left new TreeNode(nums[index]);queue.offer(node.left);}index;if (nums[index]!null indexnums.length){node.right new TreeNode(nums[index]);queue.offer(node.right);}index;}return root;
}3-2 整体实现
public class levelTraversal {static class TreeNode{int val;TreeNode left;TreeNode right;TreeNode(){}TreeNode(int x){val x;}}public static TreeNode build(Integer[] nums){// 借助 queue 来实现二叉树构造QueueTreeNode queue new LinkedList();TreeNode root new TreeNode(nums[0]);queue.offer(root);int index 1;while (!queue.isEmpty() index nums.length){TreeNode node queue.poll();if(nums[index]!null indexnums.length){node.left new TreeNode(nums[index]);queue.offer(node.left);}index;if (nums[index]!null indexnums.length){node.right new TreeNode(nums[index]);queue.offer(node.right);}index;}return root;}static ListListInteger res new ArrayList();public static ListListInteger levelOrder(TreeNode root) {QueueTreeNode queue new LinkedList();if(rootnull){return res;}queue.offer(root);while(!queue.isEmpty()){int len queue.size();ListInteger iterm new ArrayList();while(len0){TreeNode node queue.poll();iterm.add(node.val);if(node.left!null){queue.offer(node.left);}if(node.right!null){queue.offer(node.right);}len--;}res.add(new ArrayList(iterm));}return res;}public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println(输入二叉树构造数组);String input sc.nextLine();input input.replace([,);input input.replace(],);String[] parts input.split(,);Integer[] nums new Integer[parts.length];for(int i 0 ; i parts.length;i){if(!parts[i].equals(null)){nums[i] Integer.parseInt(parts[i]);}else{nums[i] null;}}TreeNode root build(nums);ListListInteger forRes levelOrder(root);for(ListInteger i:forRes){System.out.println(i.toString());}}}