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

永州做网站tuantaogou竞价推广托管

永州做网站tuantaogou,竞价推广托管,做网站怎么才能找到靠谱的网络公司,网站建设公司网站模板下载题目描述 给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言,其左右子结点分别位于 (row 1, col - 1) 和 (row 1, col 1) 。树的根结点位于 (0, 0) 。 二叉树的 垂序遍历 从最左边的列开始直到…

题目描述

给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。

对位于 (row, col) 的每个结点而言,其左右子结点分别位于 (row + 1, col - 1) 和 (row + 1, col + 1) 。树的根结点位于 (0, 0) 。

二叉树的 垂序遍历 从最左边的列开始直到最右边的列结束,按列索引每一列上的所有结点,形成一个按出现位置从上到下排序的有序列表。如果同行同列上有多个结点,则按结点的值从小到大进行排序。

返回二叉树的 垂序遍历 序列。

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:[[9],[3,15],[20],[7]]
解释:
列 -1 :只有结点 9 在此列中。
列  0 :只有结点 3 和 15 在此列中,按从上到下顺序。
列  1 :只有结点 20 在此列中。
列  2 :只有结点 7 在此列中。

示例 2:

输入:root = [1,2,3,4,5,6,7]
输出:[[4],[2],[1,5,6],[3],[7]]
解释:
列 -2 :只有结点 4 在此列中。
列 -1 :只有结点 2 在此列中。
列  0 :结点 1 、5 和 6 都在此列中。1 在上面,所以它出现在前面。5 和 6 位置都是 (2, 0) ,所以按值从小到大排序,5 在 6 的前面。
列  1 :只有结点 3 在此列中。
列  2 :只有结点 7 在此列中。

987. 二叉树的垂序遍历

解题思路

首先本题是一道困难题,其解决方法并不难想,主要难度主要集中在实现的细节。对于相同列的排序,行小的在前,同行的按照从大到小排序,所以这个实现我想到了java的排序器,制定类的规则。这个问题想好就按照dfs进行一次遍历,主要记录行列,将同列的放入同一个List从而进行排序,整体实现思路并不复杂,主要需要看清楚题意并认真实现。

具体实现,代码如下

class Solution {public List<List<Integer>> verticalTraversal(TreeNode root) {Map<Integer, List<Node>> map = new HashMap<>();List<List<Integer>> lists = new ArrayList<>();List<Integer> list = new ArrayList<>();dfs(0, 0, root, map, list);Collections.sort(list);//进行排序for (int i : list) {Collections.sort(map.get(i));List<Integer> l = new ArrayList<>();for (Node n : map.get(i))l.add(n.val);lists.add(l);}return lists;}public void dfs(int c, int r, TreeNode p, Map<Integer, List<Node>> map, List<Integer> list) {if (p != null) {if (!map.containsKey(c)) {list.add(c);map.put(c, new ArrayList<Node>());}map.get(c).add(new Node(r, p.val));dfs(c - 1, r + 1, p.left, map, list);dfs(c + 1, r + 1, p.right, map, list);}}
}class Node implements Comparable<Node> {int r;int val;Node(int r, int val) {this.r = r;this.val = val;}public int compareTo(Node o) {//排序器if (this.r > o.r) {return 1;} else if (this.r < o.r) {return -1;} else {if (this.val > o.val)return 1;else if (this.val < o.val)return -1;elsereturn 0;}}
}
http://www.mmbaike.com/news/34669.html

相关文章:

  • 手机版自适应网站怎么做百度搜索引擎seo
  • 宝鸡网站开发网站推广技术
  • 买了服务器主机这么做网站怎么做一个网站的步骤
  • 哪个网站可以做兼职ppt模板企业网站建设方案模板
  • 江门手机网站建设想做网络推广如何去做
  • 百度站长提交网址2023年6月份疫情严重吗
  • 网易那个自己做游戏的网站是什么原因前端seo怎么优化
  • 怎么找网站帮我做推广网络优化工程师主要做什么
  • 河北智能网站建设如何在百度发布信息推广
  • 农村创业的好项目郑州seo优化公司
  • 找网站建设长沙网络推广服务
  • 网站优化协议百度网盘资源搜索入口
  • 图跃网站建设百度推广是怎么做的
  • 制作企业网站的实训报告怎么看关键词的搜索量
  • 网站建设验收总结讲话长沙企业seo优化
  • 提升网站建设营销百度app下载手机版
  • 东莞市公租房申请网站-建设网网站优化怎么做
  • 培训网站开发机构nba交易最新消息
  • 网站前置审批查询百家号查询排名数据查询
  • 做的好的个人网站知乎长沙网站优化体验
  • 杭州网站建设 杭州app网络营销策划方案范文
  • 做网站维护游戏推广代理app
  • 响应式网站 价格宁德市人民政府
  • 新疆建设工程信息网招标公告查询南昌seo实用技巧
  • 永安网站制作哈尔滨网站建设
  • 企业网站建设方案应该怎么做百度app登录
  • 出口手工艺品网站建设方案网站排名优化软件哪家好
  • 用vb做网站导航栏陕西seo主管
  • 网站导航你一定会回来感谢我的泰安seo推广
  • 建电影网站赚钱挣钱吗培训机构哪家好