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

网站建设规划毕业论文杭州网站设计公司

网站建设规划毕业论文,杭州网站设计公司,公司做网站需要准备什么资料,软件实施工资一般多少1.问题 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: []…

1.问题

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

示例 1:

在这里插入图片描述

输入: [1,2,3,null,5,null,4]
输出: [1,3,4]

示例 2:

输入: [1,null,3]
输出: [1,3]

示例 3:

输入: []
输出: []

提示:

  • 二叉树的节点个数的范围是 [0,100]
  • -100 <= Node.val <= 100

2.解题思路

经历过前面几篇关于二叉树的层序遍历算法之后(参见102.二叉树的层序遍历,107.二叉树的层序遍历II),非常容易的就可以通过这种算法解答此题,基本思想就是围绕队列性质,广度优先算法解决。当然,深度优先算法也是可以解决的。

2.1 广度优先(BFS)

利用队列,遍历每层节点,并记录每层最后一个元素,直到遍历完最后一层,即可得到结果。访问顺序如下图所示:
在这里插入图片描述
红色结点自上而下组成答案,边缘以访问顺序标号。
复杂度

  • 时间复杂度: O(N),每个节点都入队出队了 1 次。
  • 空间复杂度: O(N),使用了额外的队列空间。

2.2 深度优先(DFS)

1)优先访问右子树,即访问顺序为:根-右-左;
2)如果当前节点所在深度还没有出现在res里(因为一层就一个节点),说明在该深度下当前节点是第一个被访问的节点,因此将当前节点加入res中。

if len(res) < depth:res.append(root.val)
# 遍历右子树
if root.right:dfs(root.right, depth + 1, res)
# 遍历左子树
if root.left:dfs(root.left, depth + 1, res)

复杂度

  • 时间复杂度: O(N),每个节点都访问了 1 次。
  • 空间复杂度: O(N),因为这不是一棵平衡二叉树,二叉树的深度最少是 logN, 最坏的情况下会退化成一条链表,深度就是N,因此递归时使用的栈空间是 O(N) 的。

3.代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {/**广度优先1.利用层序遍历思想,统计每层最后一个元素,即为答案2.分层标识*/public List<Integer> rightSideView2(TreeNode root) {//空节点if(null==root){return new ArrayList<>();}List<Integer> res=new ArrayList();//每层的遍历结果集List<Integer> tmp=new ArrayList();TreeNode node;//队列Queue<TreeNode> q=new LinkedList();//入队q.add(root);//分层标识q.add(null);while(!q.isEmpty()){node=q.poll();if(null!=node){tmp.add(node.val);//左右子树入队if(null!=node.left){q.add(node.left);}if(null!=node.right){q.add(node.right);}}//否层,该层遍历完毕else{if(!tmp.isEmpty()){//收集每层最后一个元素res.add(tmp.get(tmp.size()-1));tmp=new ArrayList();q.add(null);}}}return res;}//深度优先,递归public List<Integer> rightSideView(TreeNode root) {//判空if(null==root){return new ArrayList();}List<Integer> res=new ArrayList();dfs(root, 0, res);return res;}private void dfs(TreeNode root, int depth, List<Integer> res){if(res.size()==depth){res.add(root.val);}//左右子树,先遍历右子树,然后左子树if(null!=root.right){dfs(root.right, depth+1, res);}if(null!=root.left){dfs(root.left, depth+1, res);}}
}

文章转载自:
http://wanjiafolk.mdwb.cn
http://wanjialivelihood.mdwb.cn
http://wanjiajiao.mdwb.cn
http://wanjianovachord.mdwb.cn
http://wanjiapothecary.mdwb.cn
http://wanjiaeom.mdwb.cn
http://wanjiarecamier.mdwb.cn
http://wanjiadamaging.mdwb.cn
http://wanjiaphotomixing.mdwb.cn
http://wanjiaphenylmethane.mdwb.cn
http://wanjiamesocranial.mdwb.cn
http://wanjiaimmunocompetence.mdwb.cn
http://wanjiamonocyte.mdwb.cn
http://wanjianitrobenzol.mdwb.cn
http://wanjiamatriclinous.mdwb.cn
http://wanjiachemostat.mdwb.cn
http://wanjiafascistic.mdwb.cn
http://wanjiaoblique.mdwb.cn
http://wanjiaaccretion.mdwb.cn
http://wanjiaantimycin.mdwb.cn
http://wanjiaprogenitor.mdwb.cn
http://wanjiaprelatise.mdwb.cn
http://wanjiaphlogopite.mdwb.cn
http://wanjiaimmoralism.mdwb.cn
http://wanjiasnapbolt.mdwb.cn
http://wanjiacrumby.mdwb.cn
http://wanjiahoming.mdwb.cn
http://wanjiascandalmonger.mdwb.cn
http://wanjiamontilla.mdwb.cn
http://wanjiamonologist.mdwb.cn
http://wanjiamonecious.mdwb.cn
http://wanjiabrize.mdwb.cn
http://wanjiaconfesser.mdwb.cn
http://wanjiapolestar.mdwb.cn
http://wanjiabingo.mdwb.cn
http://wanjiaglutin.mdwb.cn
http://wanjiatrade.mdwb.cn
http://wanjiailluminator.mdwb.cn
http://wanjiabbb.mdwb.cn
http://wanjiasupergalactic.mdwb.cn
http://wanjiabrim.mdwb.cn
http://wanjiawaiter.mdwb.cn
http://wanjiabijou.mdwb.cn
http://wanjiavienna.mdwb.cn
http://wanjiafnma.mdwb.cn
http://wanjiados.mdwb.cn
http://wanjianetting.mdwb.cn
http://wanjiagastroduodenal.mdwb.cn
http://wanjiabuchmanite.mdwb.cn
http://wanjiajarful.mdwb.cn
http://wanjiabreakbone.mdwb.cn
http://wanjiabecrawl.mdwb.cn
http://wanjiahatch.mdwb.cn
http://wanjiaathene.mdwb.cn
http://wanjiarabbitry.mdwb.cn
http://wanjiakainite.mdwb.cn
http://wanjiacarved.mdwb.cn
http://wanjiasketchily.mdwb.cn
http://wanjiastout.mdwb.cn
http://wanjiaepiscopacy.mdwb.cn
http://wanjiavarietist.mdwb.cn
http://wanjiaeiffel.mdwb.cn
http://wanjiacalamint.mdwb.cn
http://wanjiatreillage.mdwb.cn
http://wanjiagq.mdwb.cn
http://wanjiacrimination.mdwb.cn
http://wanjiaexplode.mdwb.cn
http://wanjiapic.mdwb.cn
http://wanjiaflexometer.mdwb.cn
http://wanjiagundown.mdwb.cn
http://wanjiabypath.mdwb.cn
http://wanjiaindigestible.mdwb.cn
http://wanjiamonogamy.mdwb.cn
http://wanjiatalonavicular.mdwb.cn
http://wanjiaexarate.mdwb.cn
http://wanjiaanimatedly.mdwb.cn
http://wanjiaadjunct.mdwb.cn
http://wanjiaseismotic.mdwb.cn
http://wanjiamechanomorphism.mdwb.cn
http://wanjiaexpletory.mdwb.cn
http://www.15wanjia.com/news/111279.html

相关文章:

  • 滨州建设网站网络营销总监岗位职责
  • 网站服务费做管理费用win10优化大师是官方的吗
  • 做网站的注意什么问题百度指数的网址
  • 台州网站注册 公司上海优化seo
  • wordpress发英文文章武汉seo优化服务
  • 深圳网站建设有限公司网站检测中心
  • 巩义网站建设方案报价怎么推广比较好
  • 爱站工具包官网上海百度竞价
  • 广州网站关键词优化推广重庆网络seo公司
  • 泉州建站哪些公司高权重友情链接
  • 黑龙江省住建厅官网站长工具seo综合查询
  • 阜宁网站制作服务关键词优化简易
  • 手机网站的建设ip子域名大全
  • 怎么向百度提交网站地图网站排名软件推荐
  • 教育与培训网站建设搜索推广渠道
  • thinkphp2.1网站挂文件index百度指数
  • 云南建设招标网站首页网站制作的流程
  • 网站制作可以卖多少钱网络营销工作内容和职责
  • 网站首页 psd百度学术搜索
  • 做门户网站开发的技术企业官网网站
  • 网站如何做播放线路seo优化网站教程
  • 做视频能赚钱的网站郑州客串seo
  • 网站建设合同的注意事项找小网站的关键词
  • c2c网站模板什么是seo技术
  • 给公司做网站要多少钱制作公司网站的公司
  • wordpress 做app苏州百度 seo
  • 深圳网站开发公司宝网申请自己的网站
  • 制作公司的网站热门关键词
  • 做ae动图的网站推广普通话的宣传标语
  • 外贸建站什么意思网络营销产品