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

力扣-数据结构-10【算法学习day.81】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.反转二叉树以匹配先序遍历

题目链接:971. 翻转二叉树以匹配先序遍历 - 力扣(LeetCode)

题面:

附上大佬代码:

/*** 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 {List<Integer> ans = new ArrayList<>();int idx = -1;public List<Integer> flipMatchVoyage(TreeNode root, int[] voyage) {return dfs(root, voyage) ? ans : Arrays.asList(-1);}boolean dfs(TreeNode node, int[] voyage) {// 空节点肯定满足, 直接返回 trueif (node == null) { return true; }idx++;// 检查当前节点的值和 voyage 数组对应位置的值是否一致if (node.val != voyage[idx]) { return false; }// 需要进行翻转的情况if (node.left != null && node.right != null &&node.left.val != voyage[idx+1]) {TreeNode tmp = node.left;node.left = node.right;node.right = tmp;ans.add(node.val);}// 递归处理左子树和右子树return dfs(node.left, voyage) && dfs(node.right, voyage);}
}

后言

上面是数据结构相关的习题,下一篇文章会将其他相关的习题。 

 

 

http://www.lryc.cn/news/513997.html

相关文章:

  • WPF的一些控件的触发事件记录
  • C# 设计模式(创建型模式):建造者模式
  • 关于模板函数的void返回值的判断:std::is_void与模板特化
  • 重现ORA-01555 细说Oracle Undo 数据管理
  • 通过blob请求后端导出文件
  • 养老院小程序怎么搭建?让老年人老有所养,老有所依!
  • 【2024美国数学建模AB题原文翻译】
  • 判断旗帜是否符合ISO新标准
  • 海量数据存储实现方案设计1-mycat版
  • Elasticsearch检索之三:官方推荐方案search_after检索实现(golang)
  • hot100_238. 除自身以外数组的乘积
  • 软件测试基础详解
  • MySQL 备份方案设计之准备事项
  • 《计算机网络A》单选题-复习题库解析-最终
  • 向 SwiftUI 视图注入 managedObjectContext 环境变量导致 Xcode 预览(Preview)崩溃的解决
  • Ruby 数据类型
  • 复合机器人正以其高效、精准、灵活的特点,逐渐在汽车装配线上崭露头角
  • Docker + JMeter + InfluxDB + Grafana搭建压测可视化实时监控
  • leetcode 2658. 网格图中鱼的最大数目
  • Java 集合 Collection、List、Set
  • 报错:nginx [emerg] open() etcnginxnginx.conf failed (2 No such file or directory)
  • 基于AI的运维资源调度:效率与智能的双重提升
  • 自动化办公 | 根据成绩进行自动评级
  • 纯血鸿蒙ArkUI线性布局详解
  • 小程序组件 —— 22 组件案例 - 轮播区域绘制
  • 如何判断一个学术论文是否具有真正的科研价值?ChatGPT如何提供帮助?
  • 【置顶】测试学习笔记整理
  • 新浪微博Java开发面试题及参考答案
  • 【SQL Server】教材数据库(1)
  • Windows系统下载、部署Node.js与npm环境的方法