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

网站建设得多钱网站建设评比办法

网站建设得多钱,网站建设评比办法,网页编辑面试知识,个人网站制作新手教程数据结构——二叉树层序遍历 107. 二叉树的层序遍历 II199. 二叉树的右视图思路: 637. 二叉树的层平均值 107. 二叉树的层序遍历 II 107. 二叉树的层序遍历 II 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节…

数据结构——二叉树层序遍历

    • 107. 二叉树的层序遍历 II
    • 199. 二叉树的右视图
      • 思路:
    • 637. 二叉树的层平均值

107. 二叉树的层序遍历 II

107. 二叉树的层序遍历 II

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

示例 1:
在这里插入图片描述

输入:root = [3,9,20,null,null,15,7]
输出:[[15,7],[9,20],[3]]

自底向上遍历,将原层序遍历的结果反转即可

class Solution {public List<List<Integer>> levelOrderBottom(TreeNode root) {List<List<Integer>> list = new ArrayList<>();Deque<TreeNode> que = new LinkedList<>();if (root == null) {return list;}que.offer(root);while (!que.isEmpty()) {List<Integer> itemList = new ArrayList<Integer>();int len = que.size();while (len > 0) {TreeNode tmpNode = que.poll();itemList.add(tmpNode.val);if (tmpNode.left != null) que.offer(tmpNode.left);if (tmpNode.right != null) que.offer(tmpNode.right);len--;}list.add(itemList);}List<List<Integer>> result = new ArrayList<>();for (int i = list.size() - 1; i >= 0; i-- ) {result.add(list.get(i));}return result;}
}

199. 二叉树的右视图

199. 二叉树的右视图
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例 1:
在这里插入图片描述
输入: [1,2,3,null,5,null,4]
输出: [1,3,4]

思路:

层序遍历的时候,判断是否遍历到单层的最后面的元素,如果是,就放进result数组中,随后返回result就可以了。

class Solution {public List<Integer> rightSideView(TreeNode root) {List<Integer> list = new ArrayList<>();Deque<TreeNode> que = new LinkedList<>();if (root == null) {return list;}que.offerLast(root);while (!que.isEmpty()) {int levelSize = que.size();for (int i = 0; i < levelSize; i++) {TreeNode poll = que.pollFirst();if (poll.left != null) {que.addLast(poll.left);}if (poll.right != null) {que.addLast(poll.right);}if (i == levelSize - 1) {list.add(poll.val);}}}return list;}
}

637. 二叉树的层平均值

637. 二叉树的层平均值

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。
在这里插入图片描述
在这里插入图片描述
层序遍历的时候把一层求个总和在取一个均值。

class Solution {public List<Double> averageOfLevels(TreeNode root) {List<Double> list = new ArrayList<>();Deque<TreeNode> que = new LinkedList<>();if (root==null){return list;}que.offerLast(root);while(!que.isEmpty()){TreeNode peek = que.peekFirst();int levelSize = que.size();double levelSum = 0.0;// 统计每一层的和for (int i = 0; i < levelSize; i++) {TreeNode poll = que.pollFirst();levelSum += poll.val;if (poll.left != null) {que.addLast(poll.left);}if (poll.right != null) {que.addLast(poll.right);}}list.add(levelSum / levelSize);//均值放入结果list}return list;}
}
http://www.yayakq.cn/news/252411/

相关文章:

  • 免费网站建设哪个好?中山企业网站推广
  • 无域名网站 能否被百度网站备案注销申请书
  • 呼家楼街道网站建设长沙市建站
  • 网站建设saas排名建设银行网站上不去了
  • 软件下载网站cms深圳市宝安区松岗街道
  • 专业营销网站建设公司wordpress主题设置选项
  • 如何开发移动网站wordpress 修改
  • c 网站开发 书微信公众号 小程序
  • 四川建设网站公司网站用哪些系统做的
  • 校园加盟网站建设wordpress和json
  • php网站开发所需要的软件网站关键字在哪设置
  • ui图标素材网站营销系统
  • 网站被清空了怎么办wordpress网站绑定多个域名
  • 光环时讯网站wordpress一直加载
  • 保定清苑住房和城乡建设局网站建设视频网站要求
  • 设计公司网站运营我的网站模板下载不了
  • 庆阳网站设计与建设安徽博物馆网站建设的调研报告
  • 百度智能建站适合优化吗广东省住房城乡建设厅官方网站
  • 南通网站怎么推广单页面营销型网站制作
  • 网站空间哪家公司的好网站推广培训
  • 济南网站建设公司熊掌号环球军事网
  • 免费个人网站服务器淘宝官网首页注册账号
  • 精品外贸网站 dedecms洪涛怎么样海城市建设网站
  • 新闻类的手机网站怎么做深圳坑梓网站建设
  • 网站建设公司创业哪里能给人做网站
  • 静态的网站wordpress 被入侵 删文章
  • 企业网网站怎么做工程建设领域包括哪些
  • 做寄生虫对自己的网站有影响吗wordpress多个用户发表文章
  • 快手等视频网站做推广统计助手小程序怎么制作
  • 有没有做软件的网站黑群晖Wordpress