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

九江市建设规划局网站标识标牌

九江市建设规划局网站,标识标牌,微科技h5制作网站,求个企业邮箱号目录 一、题目 1、题目描述 2、接口描述 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言,其左右子结…

目录

一、题目

1、题目描述

2、接口描述

3、原题链接

二、解题报告

1、思路分析

2、复杂度

3、代码详解


一、题目

1、题目描述

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

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

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

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

2、接口描述

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:vector<vector<int>> verticalTraversal(TreeNode* root) {}
};

3、原题链接

987. 二叉树的垂序遍历


二、解题报告

1、思路分析

我们由父节点的坐标可以推出左右孩子的坐标,那么我们可以从根节点进行广搜或者深搜,推出所有节点的坐标,然后对每一列按照行坐标和节点值进行排序,记录返回值即可

思路很简单,就是一模拟题,代码或许还可以写的更优雅。

2、复杂度

时间复杂度: O(nlogn)空间复杂度:O(n)

3、代码详解

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:
#define mkp make_pair
typedef TreeNode Node;
typedef pair<int,int> PII;
map<int, vector<PII>> mp;
set<int> cols;vector<vector<int>> verticalTraversal(TreeNode* root) {if(!root) return {};mp.clear(), cols.clear();function<void(Node*, const PII&)> dfs = [&](Node* x, const PII& p){mp[p.second].emplace_back(mkp(p.first, x->val));cols.insert(p.second);if(x->left) dfs(x->left, mkp(p.first+1, p.second-1));if(x->right) dfs(x->right, mkp(p.first+1, p.second+1));};dfs(root, mkp(0, 0));vector<vector<int>> ret(cols.size());int tot = 0;for(auto x : cols){sort(mp[x].begin(), mp[x].end());for(auto& p : mp[x])ret[tot].emplace_back(p.second);tot++;}return ret;}
};

http://www.yayakq.cn/news/689699/

相关文章:

  • 住房和城乡建设部网站八大员电子商务网站名称和网址
  • 中式建筑公司网站平台型网站建设方案
  • 自己做视频网站的流程河池网站seo
  • 国内外网站开发的现状住小帮装修效果图
  • 查询网站网站seo搜索
  • 网站外包多少人做毕业网站设计代做
  • 怎么让付费网站免费长沙公司网站制作
  • 大连建站平台中国交通建设监理协会官方网站
  • 四川省城乡建设信息网站证件查询中小互联网企业有哪些
  • 网站建设与设计ppt模板网页设计与制作教程的页数是
  • 装饰网站建设流程wordpress数据备份文件夹
  • 网站右侧浮动广告做公司网站排名
  • 合作网站建设网页设计与网页制作
  • 怎么给网站命名网站建设推荐华网天下
  • 校园网站建设的意见与建议商务网站建设ppt
  • 美容网站设计域名查询解析
  • 群晖做网站wordpress底部版权怎么添加
  • 一学一做教育视频网站wordpress 登陆不上
  • 网站免费观影怎么做丹徒网站建设价格
  • 直接找高校研究生做网站行吗做网站要坚持
  • 访问升级每天自动更新杭州网站优化平台
  • 网站改版意见方案镇江网
  • 企业手机网站建设联系方式安卓应用开发环境
  • 济南企业建站平台有内涵的广告公司名字
  • 知名网站建设策划公众号怎么转wordpress
  • 自已建网站卖东西要多少钱网站seo优化心得
  • 优惠券怎做网站泰安网站开发推广
  • 重庆建站网络公司WordPress的light
  • 公维金如何上传建设局网站服装鞋帽商城网站建设
  • 外贸网站建设注意一诺摄影设计