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

高端网站建设加盟汽车网址导航大全

高端网站建设加盟,汽车网址导航大全,合同管理系统,中国建设银行安徽省招聘信息网站文章目录 题目方法一&#xff1a;层序遍历取每一层最后一个元素方法二&#xff1a;深度优先搜索 题目 方法一&#xff1a;层序遍历取每一层最后一个元素 // 方法一 &#xff1a;层序 集合(取每层子集合最后一个元素)// List<List<Integer>> Rlist new ArrayList…

文章目录

    • 题目
    • 方法一:层序遍历取每一层最后一个元素
    • 方法二:深度优先搜索

题目

在这里插入图片描述

方法一:层序遍历取每一层最后一个元素

// 方法一 :层序 + 集合(取每层子集合最后一个元素)// List<List<Integer>> Rlist = new ArrayList<>();// public List<Integer> rightSideView(TreeNode root) {//     if(root == null ) return new ArrayList<>();//     Queue<TreeNode> queue = new ArrayDeque<>();//     queue.offer(root); //     while(!queue.isEmpty()){//         int count = queue.size();//         List<Integer> res = new ArrayList<>();//         for(int i=0;i<count;i++){//             TreeNode node = queue.poll();//             res.add(node.val);//         if(node.left != null) queue.offer(node.left);//         if(node.right != null) queue.offer(node.right);//         }//         Rlist.add(res);//每层节点集合加入到大集合//     }//       List<Integer> result = new ArrayList<>();//结果集//     for(List list : Rlist ){//         result.add((Integer)list.get(list.size()-1));//取每层集合最后一个元素//     }//     return result;// }
// 方法一(优化) :在层序遍历的时候直接要每一层的最后一个元素加入集合  就不需要把一层所有节点的加入集合再去取每层集合最后一个了public List<Integer> rightSideView(TreeNode root) {List<Integer> Rlist = new ArrayList<>();//结果集if(root == null ) return Rlist;Queue<TreeNode> queue = new ArrayDeque<>();queue.offer(root); while(!queue.isEmpty()){int count = queue.size();for(int i=0;i<count;i++){TreeNode node = queue.poll();if(i == count -1)//只取一层最后一个元素(count)Rlist.add(node.val);if(node.left != null) queue.offer(node.left);if(node.right != null) queue.offer(node.right);}}return Rlist;}

方法二:深度优先搜索

根 右 左 的顺序 取每层第一个被访问到的节点(depth == list.size())
在这里插入图片描述

   List<Integer> result = new ArrayList<>();public List<Integer> rightSideView(TreeNode root) {dfs(root,0);//起始递归 root  深度为0return result;}public void dfs(TreeNode tree ,int  depth){if(tree == null) return ;if(depth == result.size()) result.add(tree.val);//若当前深度 = 集合的大小,说明在该层还没加入任何元素,此时只需加入第一次访问的元素就行dfs(tree.right,depth+1);//切换到下一层继续找第一次访问的元素dfs(tree.left,depth+1);//切换到下一层继续找第一次访问的元素}
http://www.yayakq.cn/news/60745/

相关文章:

  • 专业网站制作技术乐陵seo网站
  • 哪家可以做网站网络销售的理解
  • 公司网站建设注册全国房地产最新消息
  • 邹城网站建设公司昆明网站开发公司
  • 社交和门户网站的区别做搜狗手机网站快速
  • 做网站找那个公司dedecms的网站放在哪个文件夹里
  • 网上购物商城网站建设wordpress加入链接
  • 南阳网站排名优化公司怎么做网站收录的关键词
  • 木马科技网站建设网站设计费
  • 营销网站制作方案简单又快的科学小制作
  • 岳阳网站建设公司拓者设计吧效果图
  • 网站备案密码格式厦门市集美区建设局网站
  • 专门做调查的网站英语培训学校网站怎么做
  • 网站 排版模板凡科删除建设的网站
  • 网站后台 灰色什么网站下载素材做图的
  • 汕头市城市建设总公司网站深圳做企业网站的公司
  • 网站临时会话网站3d特效源码
  • 德国的网站后缀营销助手app
  • ie9网站后台编辑器绵阳房产网
  • 网站两边横幅怎么做有什么做海报网站
  • 网站ftp根目录安卓代理ip软件
  • 吉林省工程建设标准网站内江市建设培训中心网站
  • 有趣的网站名国外做兼职网站
  • 建个私人网站怎么做一台虚拟主机能建设几个网站
  • 南京网站设计建设公司电话重庆的网络公司
  • 做兼职网上哪个网站wordpress $数组
  • 淘宝直接怎么做网站网站开发与移动互联
  • 怀宁县住房和建设局网站西青做网站的公司
  • 沈阳设计培训网站建设中国互联网协会成立于哪一年
  • 如何做网站诊断网站模块功能