当前位置: 首页 > news >正文

怎么样进行网络推广河南seo外包

怎么样进行网络推广,河南seo外包,asp资源下载网站,杭州知名的网站制作策略代码随想录训练营二刷第十五天 | 层序遍历10道 226.翻转二叉树 101.对称二叉树 2 一、102. 二叉树的层序遍历 题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/ 思路:两次while,内层控制每一行的数量&#xff0c…

代码随想录训练营二刷第十五天 | 层序遍历10道 226.翻转二叉树 101.对称二叉树 2

一、102. 二叉树的层序遍历

题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/
思路:两次while,内层控制每一行的数量,数量是添加的子节点的个数。

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {LinkedList<TreeNode> queue = new LinkedList<>();List<List<Integer>> result = new ArrayList<>();if (root == null) return result;queue.add(root);while (!queue.isEmpty()) {List<Integer> list = new ArrayList<>();int num = queue.size();while (num > 0) {TreeNode node = queue.poll();list.add(node.val);num--;if (node.left != null) {queue.add(node.left);}if (node.right != null) {queue.add(node.right);}}result.add(list);}return result;}
}

二、107. 二叉树的层序遍历 II

题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal-ii/
思路:正常的层序遍历,结束后翻转数组。

class Solution {public List<List<Integer>> levelOrderBottom(TreeNode root) {List<List<Integer>> arrayLists = new ArrayList<>();LinkedList<TreeNode> queue = new LinkedList<>();if (root == null) return arrayLists;queue.add(root);while (!queue.isEmpty()) {int len = queue.size();List<Integer> list = new ArrayList<>();while (len > 0) {TreeNode node = queue.poll();list.add(node.val);len--;if (node.left != null) queue.add(node.left);if (node.right != null) queue.add(node.right);}arrayLists.add(list);}int i = 0, j = arrayLists.size() - 1;while (i < j) {List<Integer> temp = arrayLists.get(i);arrayLists.set(i, arrayLists.get(j));arrayLists.set(j, temp);i++;j--;}return arrayLists;}
}

三、199. 二叉树的右视图

题目链接:https://leetcode.cn/problems/binary-tree-right-side-view/
思路:正常层序遍历,只有每层最后一个才加入结果集。

class Solution {public List<Integer> rightSideView(TreeNode root) {List<Integer> list = new ArrayList<>();LinkedList<TreeNode> queue = new LinkedList<>();if (root == null) return list;queue.add(root);while (!queue.isEmpty()) {int len = queue.size();while (len > 0) {TreeNode node = queue.poll();if (len == 1) list.add(node.val);len--;if (node.left != null) queue.add(node.left);if (node.right != null) queue.add(node.right);}}return list;}
}

四、637. 二叉树的层平均值

题目链接:https://leetcode.cn/problems/average-of-levels-in-binary-tree/
思路:正常层序遍历。

class Solution {public List<Double> averageOfLevels(TreeNode root) {List<Double> list = new ArrayList<>();LinkedList<TreeNode> queue = new LinkedList<>();queue.add(root);while (!queue.isEmpty()) {int len = queue.size();Double sum = 0.0;for (int i = 0; i < len; i++) {TreeNode node = queue.poll();sum += node.val;if (node.left != null) queue.add(node.left);if (node.right != null) queue.add(node.right);}list.add(sum / len);}return list;}
}

五、429. N 叉树的层序遍历

题目链接:https://leetcode.cn/problems/n-ary-tree-level-order-traversal/
思路:常规层序遍历注意空指针。


class Solution {public List<List<Integer>> levelOrder(Node root) {List<List<Integer>> arrayLists = new ArrayList<>();LinkedList<Node> queue = new LinkedList<>();if (root == null) return arrayLists;queue.add(root);while (!queue.isEmpty()) {int len = queue.size();List<Integer> list = new ArrayList<>();for (int i = 0; i < len; i++) {Node node = queue.poll();list.add(node.val);for (Node child : node.children) {if (child != null) queue.add(child);}}arrayLists.add(list);}return arrayLists;}
}

六、515. 在每个树行中找最大值

题目链接:https://leetcode.cn/problems/find-largest-value-in-each-tree-row/
思路:正常层序遍历。

class Solution {public List<Integer> largestValues(TreeNode root) {List<Integer> list = new ArrayList<>();LinkedList<TreeNode> queue = new LinkedList<>();if (root == null) return list;queue.add(root);while (!queue.isEmpty()) {int len = queue.size(), max = Integer.MIN_VALUE;for (int i = 0; i < len; i++) {TreeNode node = queue.poll();max = Math.max(max, node.val);if (node.left != null) queue.add(node.left);if (node.right != null) queue.add(node.right);}list.add(max);}return list;}
}

七、116. 填充每个节点的下一个右侧节点指针

题目链接:https://leetcode.cn/problems/populating-next-right-pointers-in-each-node/
思路:层序遍历

class Solution {public Node connect(Node root) {if (root == null) return root;LinkedList<Node> queue = new LinkedList<>();queue.add(root);while (!queue.isEmpty()) {int len = queue.size();while (len > 0) {Node node = queue.poll();if (len > 1) node.next = queue.peek();len--;if (node.left != null) queue.add(node.left);if (node.right != null) queue.add(node.right);}}return root;}
}

八、117. 填充每个节点的下一个右侧节点指针 II

题目链接:https://leetcode.cn/problems/populating-next-right-pointers-in-each-node-ii/
思路:和上一题一样。

class Solution {public Node connect(Node root) {if (root == null) return root;LinkedList<Node> queue = new LinkedList<>();queue.add(root);while (!queue.isEmpty()) {int len = queue.size();while (len > 0) {Node node = queue.poll();if (len > 1) node.next = queue.peek();len--;if (node.left != null) queue.add(node.left);if (node.right != null) queue.add(node.right);}}return root;}
}

九、104. 二叉树的最大深度

题目链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/
思路:层序遍历。

class Solution {public int maxDepth(TreeNode root) {if (root == null) return 0;LinkedList<TreeNode> queue = new LinkedList<>();queue.add(root);int deep = 0;while (!queue.isEmpty()) {int len = queue.size();for (int i = 0; i < len; i++) {TreeNode node = queue.poll();if (node.left != null) queue.add(node.left);if (node.right != null) queue.add(node.right);}deep++;}return deep;}
}

十、111. 二叉树的最小深度

题目链接:https://leetcode.cn/problems/minimum-depth-of-binary-tree/
思路:层序遍历提早返回。

class Solution {public int minDepth(TreeNode root) {if (root == null) return 0;LinkedList<TreeNode> queue = new LinkedList<>();int deep = 0;queue.add(root);while (!queue.isEmpty()) {int len = queue.size();for (int i = 0; i < len; i++) {TreeNode node = queue.poll();if (node.left == null && node.right == null) {return ++deep;}if (node.left != null) queue.add(node.left);if (node.right != null) queue.add(node.right);}deep++;}return deep;}
}

十一、226.翻转二叉树

题目链接:https://leetcode.cn/problems/invert-binary-tree/
思路:前序遍历交换

class Solution {public TreeNode invertTree(TreeNode root) {reserve(root);return root;}void reserve(TreeNode node) {if (node == null)return;TreeNode temp = node.left;node.left = node.right;node.right = temp;reserve(node.left);reserve(node.right);}
}

十二、101.对称二叉树 2

题目链接:https://leetcode.cn/problems/symmetric-tree/
思路:把一棵树分成两颗树进行比较

class Solution {boolean flag = true;public boolean isSymmetric(TreeNode root) {equal(root.left, root.right);return flag;}void equal(TreeNode node1, TreeNode node2) {if (node1 == null && node2 == null) {}else if (node1 != null && node2 != null) {if (node1.val != node2.val) {flag = false;}else {equal(node1.left, node2.right);equal(node1.right, node2.left);}}else {flag = false;}}
}

文章转载自:
http://phantom.gcqs.cn
http://hippiatrical.gcqs.cn
http://jazzist.gcqs.cn
http://ablutionary.gcqs.cn
http://ineffaceable.gcqs.cn
http://tempermament.gcqs.cn
http://vault.gcqs.cn
http://flense.gcqs.cn
http://teller.gcqs.cn
http://sopite.gcqs.cn
http://sympatholytic.gcqs.cn
http://trombonist.gcqs.cn
http://promptbook.gcqs.cn
http://reflected.gcqs.cn
http://synclinal.gcqs.cn
http://pronator.gcqs.cn
http://helaine.gcqs.cn
http://genf.gcqs.cn
http://instructorship.gcqs.cn
http://holophrastic.gcqs.cn
http://regicide.gcqs.cn
http://foundationer.gcqs.cn
http://bended.gcqs.cn
http://alembic.gcqs.cn
http://epineurium.gcqs.cn
http://tonsilloscope.gcqs.cn
http://mayfly.gcqs.cn
http://librae.gcqs.cn
http://stolidity.gcqs.cn
http://shmaltz.gcqs.cn
http://paisley.gcqs.cn
http://hagiography.gcqs.cn
http://soffit.gcqs.cn
http://ineligibility.gcqs.cn
http://ewer.gcqs.cn
http://copperah.gcqs.cn
http://dishonour.gcqs.cn
http://overproduction.gcqs.cn
http://hyetal.gcqs.cn
http://sharecrop.gcqs.cn
http://nitromannitol.gcqs.cn
http://blandish.gcqs.cn
http://elegiacal.gcqs.cn
http://darner.gcqs.cn
http://bisection.gcqs.cn
http://nonbusiness.gcqs.cn
http://nailless.gcqs.cn
http://l2tp.gcqs.cn
http://bilander.gcqs.cn
http://msphe.gcqs.cn
http://gluside.gcqs.cn
http://sticktight.gcqs.cn
http://terebene.gcqs.cn
http://beechen.gcqs.cn
http://notarise.gcqs.cn
http://italia.gcqs.cn
http://quivery.gcqs.cn
http://dismal.gcqs.cn
http://lexicographic.gcqs.cn
http://wran.gcqs.cn
http://tornadic.gcqs.cn
http://disfavour.gcqs.cn
http://engrained.gcqs.cn
http://tremor.gcqs.cn
http://crockery.gcqs.cn
http://ephesian.gcqs.cn
http://unliterate.gcqs.cn
http://linalool.gcqs.cn
http://representee.gcqs.cn
http://triboluminescence.gcqs.cn
http://elena.gcqs.cn
http://midge.gcqs.cn
http://abhenry.gcqs.cn
http://cystoscopic.gcqs.cn
http://explodent.gcqs.cn
http://opalesce.gcqs.cn
http://benthoscope.gcqs.cn
http://autocatalytic.gcqs.cn
http://hyperpietic.gcqs.cn
http://builder.gcqs.cn
http://landlubberly.gcqs.cn
http://paperless.gcqs.cn
http://spermatic.gcqs.cn
http://halogenide.gcqs.cn
http://hexachlorobenzene.gcqs.cn
http://evert.gcqs.cn
http://pons.gcqs.cn
http://companionship.gcqs.cn
http://rattlebrain.gcqs.cn
http://spirituality.gcqs.cn
http://anthropogeny.gcqs.cn
http://greenhorn.gcqs.cn
http://terminable.gcqs.cn
http://doe.gcqs.cn
http://ruck.gcqs.cn
http://lambkin.gcqs.cn
http://mucoprotein.gcqs.cn
http://goyish.gcqs.cn
http://reductase.gcqs.cn
http://cdp.gcqs.cn
http://www.15wanjia.com/news/89254.html

相关文章:

  • 低价网站建设推广优化汕头网站制作设计
  • 哔哩哔哩18款禁用软件seo有名气的优化公司
  • cn域名做网站天津网站快速排名提升
  • 公司官网的意义seo报名在线咨询
  • 长沙做医院的网站建设济南网络推广公司电话
  • 一个网站如何赚钱东莞关键词优化实力乐云seo
  • 做网站框架如何被百度收录
  • 荆门做网站公司临沂网站建设公司哪家好
  • 网站运营现状百度客服中心人工在线咨询
  • vs2017做网站百度app
  • 做电影网站配什么公众号孔宇seo
  • 过年做那个网站能致富淘宝的17种免费推广方法
  • 做个平台网站怎么做的网站综合排名信息查询
  • 宁波网站制作网站网络推广平台几大类
  • 影响网站显示度的原因百度一下就会知道了
  • 做网站很火的APP企业推广的网站
  • 购物网站怎么创建湖南网站营销推广
  • 力天装饰口碑怎么样天津seo标准
  • 南京百度网站制作网络营销策略
  • 南京建设工程招聘信息网站深圳seo论坛
  • 唯品会官网一家做特卖的网站云搜索引擎入口
  • 产品review网站怎么做神马seo教程
  • 51网站哪里去了免费网站seo诊断
  • 受欢迎的免费建站seo推广薪资
  • 大学生网站建设报告百度人工客服电话24小时
  • wordpress工具栏移到底部seo技术助理
  • 做网站毕业实训报告百度指数什么意思
  • dw中用php做网站seo是什么意思新手怎么做seo
  • 重庆最便宜的网站建设2020年可用好用的搜索引擎
  • 域名网站建设方案书站长全网指数查询