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

做的好的营销型网站有哪些在线做图的网站

做的好的营销型网站有哪些,在线做图的网站,wep开发和网站开发,网站源码怎么有文章目录 Tag题目来源题目解读解题思路方法一#xff1a;广度优先搜索方法二#xff1a;深度优先搜索 写在最后 Tag 【深度优先搜索】【广度优先搜索】【二叉树】【2023-12-15】 题目来源 2415. 反转二叉树的奇数层 题目解读 反转二叉树奇数层的节点。 解题思路 对于二叉… 文章目录 Tag题目来源题目解读解题思路方法一广度优先搜索方法二深度优先搜索 写在最后 Tag 【深度优先搜索】【广度优先搜索】【二叉树】【2023-12-15】 题目来源 2415. 反转二叉树的奇数层 题目解读 反转二叉树奇数层的节点。 解题思路 对于二叉树中的节点反转我们只需要交换节点的值。通常有广度优先搜索和深度优先搜索两种解决方法。 方法一广度优先搜索 思路 按层遍历二叉树将奇数层的节点都记录下来如果当前的层是奇数层就交换节点数组中的节点。 算法 在具体实现中通过维护一个 bool 变量 isOdd 来记录当前层是否是奇数层。初始化 isOdd false因为广搜从根节点开始这一层是 0 层当做偶数层。每遍历完一层之后更新 isOdd !isOdd下方实现中使用的是异或运算来更改 isOdd。 /*** 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:TreeNode* reverseOddLevels(TreeNode* root) {queueTreeNode* q;q.push(root);bool isOdd false;while (!q.empty()) {int sz q.size();vectorTreeNode* arr;for (int i 0; i sz; i) {TreeNode* node q.front();q.pop();if (isOdd) {arr.push_back(node);}if (node-left) { // 完美二叉树有左子树一定也有右子树q.push(node-left);q.push(node-right);}}if (isOdd) {for (int l 0, r sz - 1; l r; l, --r) {swap(arr[l]-val, arr[r]-val);}}isOdd ^ true;}return root;} };复杂度分析 时间复杂度 O ( n ) O(n) O(n) n n n 是二叉树中节点个数每个节点都要被遍历一次。 空间复杂度 O ( n ) O(n) O(n)用数组记录二叉树的每一层的节点数某一层最多有 ⌈ n 2 ⌉ \lceil{\frac{n}{2}}\rceil ⌈2n​⌉ 个节点因此空间复杂度为 O ( n ) O(n) O(n)。 方法二深度优先搜索 思路 核心依然是交换值通过递归左右子树实现。 算法 /*** 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:void dfs(TreeNode* root1, TreeNode* root2, bool isOdd) {if (root1 nullptr) {return;}if (isOdd) {swap(root1-val, root2-val);}dfs(root1-left, root2-right, !isOdd);dfs(root1-right, root2-left, !isOdd);}TreeNode* reverseOddLevels(TreeNode* root) {dfs(root-left, root-right, true);return root;} };复杂度分析 时间复杂度 O ( n ) O(n) O(n) n n n 是二叉树中节点个数每个节点都要被遍历一次。 空间复杂度 O ( l o g n ) O(logn) O(logn)。 写在最后 如果您发现文章有任何错误或者对文章有任何疑问欢迎私信博主或者在评论区指出 。 如果大家有更优的时间、空间复杂度的方法欢迎评论区交流。 最后感谢您的阅读如果有所收获的话可以给我点一个 哦。
http://www.zqtcl.cn/news/491711/

相关文章:

  • 邢台网站推广wordpress文章数据库位置
  • wordpress 快站wordpress 安装主题 主机名
  • 老网站改版启用二级域名网站建设服务是什么意思
  • 网站建设营销话术外销网站
  • 找个人给我做电影网站好主题网站开发介绍
  • 运城公司网站建设苏州网站建设苏州
  • 湖北省住房和建设厅网站首页网站用免费空间好不好
  • 网站建设公司案例做网站小图标大全
  • 美食网站主页怎么做网络营销推广的作用
  • 上海建站价格wordpress表白系统
  • 唐山 建设工程信息网站中天钢铁 网站建设
  • 公司没有备案了网站摄影素材网站
  • 正规的网店平台有哪些北京公司排名seo
  • 网页制作素材库哪个网站上海门户网站开发
  • 做网站 分辨率应该是多少做阿里巴巴网站要多少钱
  • 有专业做外贸的网站吗千岛湖网站建设
  • 百度怎么做开锁网站中国咖啡网站建设方案
  • 新网站不被收录郑州网站建设培训学校
  • 网站群建设意见征集北京做网站报价
  • 网站建设开发费会计处理山东省住房和城乡建设厅二建查询
  • 市工商局网站建设情况襄阳网站seo诊断
  • 动漫做那个视频网站单网页网站如何做
  • 企业网站名是什么意思广州公共交易中心
  • 做网站那家好沈阳做网站公司哪家好
  • 现在做一个网站大概多少钱中国住房城乡建设部网站
  • 高端企业网站建设核心秦皇岛网站制作人才招聘
  • 网站制作花多少钱简历模板表格
  • 泰安专业网站开发公司网页设计师常逛网站
  • 百度收录万网空间的网站需要多久推广seo网站
  • 个体工商户可以做网站备案吗微信app下载安装官方版2023