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

广东期货配资网站开发免费发广告的平台

广东期货配资网站开发,免费发广告的平台,led网站建设,网站怎么上传网站吗🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ BFS | DFS
        • 🥦 求解思路
        • 🥦 实现代码 - BFS
        • 🥦 运行结果
        • 🥦 实现代码 - DFS
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 2415. 反转二叉树的奇数层

⛲ 题目描述

给你一棵 完美 二叉树的根节点 root ,请你反转这棵树中每个 奇数 层的节点值。

例如,假设第 3 层的节点值是 [2,1,3,4,7,11,29,18] ,那么反转后它应该变成 [18,29,11,7,4,3,1,2] 。
反转后,返回树的根节点。

完美 二叉树需满足:二叉树的所有父节点都有两个子节点,且所有叶子节点都在同一层。

节点的 层数 等于该节点到根节点之间的边数。

示例 1:

输入:root = [2,3,5,8,13,21,34]
输出:[2,5,3,8,13,21,34]
解释:
这棵树只有一个奇数层。
在第 1 层的节点分别是 3、5 ,反转后为 5、3 。
示例 2:

输入:root = [7,13,11]
输出:[7,11,13]
解释:
在第 1 层的节点分别是 13、11 ,反转后为 11、13 。
示例 3:

输入:root = [0,1,2,0,0,0,0,1,1,1,1,2,2,2,2]
输出:[0,2,1,0,0,0,0,2,2,2,2,1,1,1,1]
解释:奇数层由非零值组成。
在第 1 层的节点分别是 1、2 ,反转后为 2、1 。
在第 3 层的节点分别是 1、1、1、1、2、2、2、2 ,反转后为 2、2、2、2、1、1、1、1 。

提示:

树中的节点数目在范围 [1, 214] 内
0 <= Node.val <= 105
root 是一棵 完美 二叉树

🌟 求解思路&实现代码&运行结果


⚡ BFS | DFS

🥦 求解思路
  1. 思路一:通过BFS求解,如果是奇数层,需要先将结果记录,然后进行反转即可。
  2. 思路二:通过DFS求解,如果是奇数层,交换节点的数值,然后递归交换root1的左子树和root2的右子树;同理,递归root1的右子树和root2的左子树。
  3. 实现代码如下所示:
🥦 实现代码 - BFS
/*** 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 {public TreeNode reverseOddLevels(TreeNode root) {Queue<TreeNode> queue=new LinkedList<>();queue.add(root);int cnt=0;while(!queue.isEmpty()){int size=queue.size();List<TreeNode> list=new ArrayList<TreeNode>();for(int i=0;i<size;i++){TreeNode temp=queue.poll();if(cnt%2==1) list.add(temp);if(temp.left!=null){queue.add(temp.left);}if(temp.right!=null){queue.add(temp.right);}}if(cnt%2==1){for (int l=0,r=size-1;l<r;l++,r--) {int temp=list.get(l).val;list.get(l).val=list.get(r).val;list.get(r).val=temp;}}cnt++;}return root;}
}
🥦 运行结果

在这里插入图片描述

🥦 实现代码 - DFS
/*** 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 {public TreeNode reverseOddLevels(TreeNode root) {dfs(root.left,root.right,1);return root;}public void dfs(TreeNode root1,TreeNode root2,int depth){if(root1==null||root2==null) return;if(depth%2==1){int temp=root1.val;root1.val=root2.val;root2.val=temp;}dfs(root1.left,root2.right,depth+1);dfs(root1.right,root2.left,depth+1);}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

http://www.mnyf.cn/news/14795.html

相关文章:

  • 餐馆建设网站的目的是什么互联网创业项目
  • 帮别人做高仿产品网站 违法么如何去做网络推广
  • 投资融资理财网站模板网络营销的主要手段和策略
  • 旅游网站建设分析接单平台
  • 阳江网站建设推广超级外链自动发布工具
  • 网站开发测试题制作网页完整步骤代码
  • 局域网做网站 内网穿透网络营销与直播电商专业就业前景
  • 新手做网站详细步骤电商seo引流
  • 个人网站 名称怎样推广自己的广告
  • 兰州建网站建网站的流程
  • 高端网站设计价格网络推广公司官网
  • 深圳福田专业网站建设百度下载2022新版安装
  • 网站后期维护是做什么中国十大门户网站排行
  • wordpress搜索页面网络seo优化公司
  • wordpress pc 客户端seo优化推广多少钱
  • ui设计比较成功的网站页面百度网盘网站入口
  • 网络舆情处置流程图seo优化几个关键词
  • 自动做海报的网站网络推广公司名字
  • 做网站初中百度下载安装到桌面上
  • 做网站和软件有区别吗seo基础视频教程
  • 如何做动态网站html购物网站制作
  • 建网站带app多少投资专业seo网络营销公司
  • 重庆网站制作工作室创建自己的网址
  • 做网站 会计分录西部数码域名注册
  • 做网站 360百度seo优化策略
  • 郑州设计院排名网站优化人员通常会将目标关键词放在网站首页中的
  • wordpress做淘宝客广州seo公司排名
  • 企业做网站etp和源程序seo优化排名易下拉软件
  • 企业网站开发费用包括哪些江苏泰州seo网络优化推广
  • 男主重生做代购网站的小说企业网站seo推广