建设项目从哪个网站可以查,成都网站建设推来客熊掌号,石家庄互联网传销多少律师,网站建设与管理是课程目录
✿LeetCode102.二叉树的层序遍历❀ ✿LeetCode226.翻转二叉树❀ ✿LeetCode101.对称二叉树❀ ✿LeetCode102.二叉树的层序遍历❀
链接#xff1a;102.二叉树的层序遍历 给你二叉树的根节点 root #xff0c;返回其节点值的 层序遍历 。 #xff08;即逐层地#xff…目录
✿LeetCode102.二叉树的层序遍历❀ ✿LeetCode226.翻转二叉树❀ ✿LeetCode101.对称二叉树❀ ✿LeetCode102.二叉树的层序遍历❀
链接102.二叉树的层序遍历 给你二叉树的根节点 root 返回其节点值的 层序遍历 。 即逐层地从左到右访问所有节点。 二叉树的层序遍历是广度优先遍历前中后序遍历是深度优先遍历层序遍历是用队列来操作的代码如下 public ListListInteger levelOrder(TreeNode root) {ListListInteger resultnew ArrayList();if(rootnull){return result;}QueueTreeNode qunew LinkedList();qu.offer(root);while(!qu.isEmpty()){ListInteger listnew ArrayList();int sizequ.size();while(!qu.isEmpty() size0){TreeNode nodequ.poll();list.add(node.val);if(node.left!null){qu.offer(node.left);}if(node.right!null){qu.offer(node.right);}size--;}result.add(list); }return result;} ✿LeetCode226.翻转二叉树❀
链接226.翻转二叉树 给你一棵二叉树的根节点 root 翻转这棵二叉树并返回其根节点。 这道题有三种解法分别是递归遍历、广度优先遍历、深度优先遍历代码如下 public TreeNode invertTree(TreeNode root) {// 递归法if(rootnull){return null;}TreeNode tempinvertTree(root.left);root.leftinvertTree(root.right);root.righttemp;return root;}
public TreeNode invertTree(TreeNode root) {if(rootnull){return null;}// 深度优先遍历StackTreeNode stnew Stack();st.push(root);while(!st.isEmpty()){TreeNode nodest.pop();TreeNode tempnode.left;node.leftnode.right;node.righttemp;if(node.right!null){st.push(node.right);}if(node.left!null){st.push(node.left);}}return root;}
public TreeNode invertTree(TreeNode root) {if(rootnull){return null;}// 广度优先遍历QueueTreeNode qunew LinkedList();qu.add(root);while(!qu.isEmpty()){int sizequ.size();while(!qu.isEmpty() size0){TreeNode nodequ.poll();TreeNode tempnode.left;node.leftnode.right;node.righttemp;if(node.left!null){qu.add(node.left);}if(node.right!null){qu.add(node.right);}size--;}}return root;} ✿LeetCode101.对称二叉树❀
链接101.对称二叉树 给你一个二叉树的根节点 root 检查它是否轴对称。 这道题的重点就是要分类讨论代码如下 public boolean isSymmetric(TreeNode root) {// 树中节点数目在范围 [1, 1000] 内return compare(root.left,root.right);}public boolean compare(TreeNode left,TreeNode right){if(leftnull right !null){return false;}else if(left!null rightnull){return false;}else if(leftnull rightnull){return true;}else{if(left.val!right.val){return false;}}boolean outsidecompare(left.left,right.right);boolean insidecompare(left.right,right.left);return outside inside;}