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

代码随想录算法训练营Day13

110.平衡二叉树

力扣题目链接:. - 力扣(LeetCode)

后序迭代

class Solution {public boolean isBalanced(TreeNode root) {return getHeight(root)!=-1;}public int getHeight(TreeNode root){if(root==null){return 0;}int leftheight=getHeight(root.left);int rightheith=getHeight(root.right);if(leftheight==-1||rightheith==-1){return -1;}else if(Math.abs(leftheight-rightheith)>1){return -1;  }return Math.max(leftheight,rightheith)+1;}
}

257. 二叉树的所有路径

力扣题目链接:. - 力扣(LeetCode)

前序递归

class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> res=new ArrayList<>();if(root==null){return res;}List<Integer> pathnode=new ArrayList<>();bianli(root,res,pathnode);return res;}public void bianli(TreeNode root,List<String> res,List<Integer> pathnode){pathnode.add(root.val);if(root.left==null&&root.right==null){StringBuilder str=new StringBuilder();for(int i=0;i<pathnode.size()-1;i++){str.append(pathnode.get(i)).append("->");}str.append(pathnode.get(pathnode.size()-1));res.add(str.toString());return;}if(root.left!=null){bianli(root.left,res,pathnode);if(!pathnode.isEmpty()){pathnode.remove(pathnode.size()-1);}       }if(root.right!=null){bianli(root.right,res,pathnode);if(!pathnode.isEmpty()){pathnode.remove(pathnode.size()-1);}     }return;}
}

404.左叶子之和

力扣题目链接:. - 力扣(LeetCode)

后序递归

class Solution {public int sumOfLeftLeaves(TreeNode root) {if(root==null){return 0;}int rightsum=sumOfLeftLeaves(root.right);int leftsum=sumOfLeftLeaves(root.left);int midsum=0;if(root.left!=null&&root.left.left==null&&root.left.right==null){midsum=root.left.val;}int sum=midsum+rightsum+leftsum;return sum;}
}

222.完全二叉树的节点个数

力扣题目链接:. - 力扣(LeetCode)

层序遍历

class Solution {public int countNodes(TreeNode root) {if(root==null){return 0;}Deque<TreeNode> myque=new LinkedList<>();myque.offer(root);int sum=0;int res=0;while(!myque.isEmpty()){sum++;int len=myque.size();res+=len;if(len!=Math.pow(2,sum-1))break;while(len>0){TreeNode cur=myque.poll();if(cur.left!=null){myque.offer(cur.left);}if(cur.right!=null){myque.offer(cur.right);}len--;}}return res;}
}

相关文章:

代码随想录算法训练营Day13

110.平衡二叉树 力扣题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 后序迭代 class Solution {public boolean isBalanced(TreeNode root) {return getHeight(root)!-1;}public int getHeight(TreeNode root){if(rootnull){return 0;}int leftheightgetHei…...

基于STM32的智能门禁系统

目录 引言项目背景环境准备 硬件准备软件安装与配置系统设计 系统架构关键技术代码示例 RFID数据采集与处理门禁控制实现显示与报警功能应用场景结论 1. 引言 智能门禁系统在现代安防中占据重要地位&#xff0c;通常用于控制进入和离开特定区域的权限。通过基于STM32微控制器…...

[EBPF] 实时捕获DM数据库是否存在SQL阻塞

1. 介绍 eBPF&#xff08;extened Berkeley Packet Filter&#xff09;是一种内核技术&#xff0c;它允许开发人员在不修改内核代码的情况下运行特定的功能。eBPF 的概念源自于 Berkeley Packet Filter&#xff08;BPF&#xff09;&#xff0c;后者是由贝尔实验室开发的一种网…...

秋招内推--招联金融2025

【投递方式】 直接扫下方二维码&#xff0c;或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus&#xff0c;使用内推码 igcefb 投递&#xff09; 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…...

Unity2022.3.x各个版本bug集合及推荐稳定版本

最近升级到Unity2022&#xff0c;发现以下问题&#xff0c;仅作参考 2022.3.0f1 - 2022.3.6f1 粒子渲染到RenderTexture闪屏 https://issuetracker.unity3d.com/issues/android-vulkan-visualisation-corruption-occurs-when-rendering-particles-to-render-texture 2022.3.…...

SparkSQL-性能调优

祝福 在这个举国同庆的时刻&#xff0c;我们首先献上对祖国的祝福&#xff1a; 第一&#xff0c;我们感谢您给我们和平的环境&#xff0c;让我们能快乐生活 第二&#xff0c;祝福我们国家未来的路越走越宽广&#xff0c;科技更发达&#xff0c;人民更幸福 第三&#xff0c;…...

leetcode-链表篇

leetcode-707 你可以选择使用单链表或者双链表&#xff0c;设计并实现自己的链表。 单链表中的节点应该具备两个属性&#xff1a;val 和 next 。val 是当前节点的值&#xff0c;next 是指向下一个节点的指针/引用。 如果是双向链表&#xff0c;则还需要属性 prev 以指示链表中的…...

JetLinks物联网平台微服务化系列文章介绍

橙蜂智能公司致力于提供先进的人工智能和物联网解决方案&#xff0c;帮助企业优化运营并实现技术潜能。公司主要服务包括AI数字人、AI翻译、AI知识库、大模型服务等。其核心价值观为创新、客户至上、质量、合作和可持续发展。 橙蜂智农的智慧农业产品涵盖了多方面的功能&#x…...

【QT Quick】基础语法:导入外部QML文件

在实际项目中&#xff0c;代码通常分为多个文件进行模块化管理&#xff0c;这样可以方便代码重用&#xff0c;例如统一风格或共享功能模块。我们将在此部分学习如何创建 QML 项目&#xff0c;并演示如何访问外部代码&#xff0c;包括其他 QML 文件、库文件以及 JS 代码。 准备…...

Llama 系列简介与 Llama3 预训练模型推理

1. Llama 系列简介 1.1 Llama1 由 Meta AI 发布&#xff0c;包含 7B、13B、33B 和 65B 四种参数规模的开源基座语言模型 数据集&#xff1a;模型训练数据集使用的都是开源的数据集&#xff0c;总共 1.4T token 模型结构&#xff1a;原始的 Transformer 由编码器&#xff08…...

【AIGC】ChatGPT提示词助力自媒体内容创作升级

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;高效仿写专家级文章提示词使用方法 &#x1f4af;CSDN博主账号分析提示词使用方法 &#x1f4af;自媒体爆款文案优化助手提示词使用方法 &#x1f4af;小结 &#x1f4af…...

SSTI基础

<aside> &#x1f4a1; 简介 </aside> 原理 又名&#xff1a;Flask模版注入 模版种类 **Twig{{7*7}}结果49 jinja2{{7*7}}结果为7777777 //jinja2的常见参数是name smarty7{*comment*}7为77**<aside> &#x1f4a1; flask实例 </aside> **from …...

10.1软件工程知识详解上

软件工程概述 软件开发生命周期 软件定义时期&#xff1a;包括可行性研究和详细需求分析过程&#xff0c;任务是确定软件开发工程必须完成的总目标&#xff0c;具体可分成问题定义、可行性研究、需求分析等。软件开发时期&#xff1a;就是软件的设计与实现&#xff0c;可分成…...

03Frenet与Cardesian坐标系(Frenet转Cardesian公式推导)

Frenet转Cardesian 1 明确目标 已知车辆质点在Frenet坐标系下的状态&#xff1a; Frenet 坐标系下的纵向坐标&#xff1a; s s s纵向速度&#xff1a; s ˙ \dot{s} s˙纵向加速度&#xff1a; s \ddot{s} s横向坐标&#xff1a; l l l横向速度&#xff1a; l ˙ \dot{l} l…...

knowLedge-Vue I18n 是 Vue.js 的国际化插件

1.简介 Vue I18n 是 Vue.js 的国际化插件&#xff0c;它允许开发者根据不同的语言环境显示不同的文本&#xff0c;支持多语言。 Vue I18n主要有两个版本&#xff1a;v8和v9。v8版本适用于Vue2框架。v9版本适用于Vue3框架。 2. 翻译实现原理 Vue I18n 插件通过在 Vue 实例中注…...

【开源免费】基于SpringBoot+Vue.JS微服务在线教育系统(JAVA毕业设计)

本文项目编号 T 060 &#xff0c;文末自助获取源码 \color{red}{T060&#xff0c;文末自助获取源码} T060&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...

expressjs 中的mysql.createConnection,execute 怎么使用

在 Express.js 应用中使用 MySQL 数据库&#xff0c;你通常会使用 mysql 或 mysql2 这样的库来创建和管理数据库连接&#xff0c;并执行查询。然而&#xff0c;mysql.createConnection 并不直接提供 execute 方法。相反&#xff0c;你可以使用 query 方法来执行 SQL 语句。 以…...

每日一题|983. 最低票价|动态规划、记忆化递归

本题求解最小值&#xff0c;思路是动态规划&#xff0c;但是遇到的问题是&#xff1a;动态规划更新的顺序和步长&#xff0c;以及可能存在的递归溢出问题。 1、确定dp数组含义 dp[i]表示第i天到最后一天&#xff08;可能不在需要出行的天数里&#xff09;&#xff0c;需要花费…...

oracle 正则 匹配 身份正 手机号

1.正则匹配身份证号: regexp_like(card_id,^[1-9]\d{5}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$) ^[1-9]\d{5}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$ ^[1-9]&#xff1a;第一位数字不能为0。 \d{5}&#xff1a;接下来…...

在树莓派上部署开源监控系统 ZoneMinder

原文&#xff1a;https://blog.iyatt.com/?p17425 前言 自己搭建&#xff0c;可以用手里已有的设备&#xff0c;不需要额外买。这套系统的源码是公开的&#xff0c;录像数据也掌握在自己手里&#xff0c;不经过不可控的三方。 支持设置访问账号 可以保存录像&#xff0c;启…...

Cursor插件实现网页数据AI就绪:从智能抓取到实时搜索的完整方案

1. 项目概述&#xff1a;将任意网页转化为AI就绪数据的Cursor插件 如果你经常用Cursor写代码、做研究&#xff0c;或者处理网络数据&#xff0c;那你肯定遇到过这样的场景&#xff1a;看到一个网页&#xff0c;想把里面的内容扒下来&#xff0c;整理成结构化的Markdown或者JSO…...

Taotoken提供的官方价折扣与活动对于项目原型的成本友好度

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken提供的官方价折扣与活动对于项目原型的成本友好度 对于启动新项目或开发原型的开发者而言&#xff0c;早期试错成本是需要…...

HiveWE:基于C++20模块化架构的下一代魔兽争霸III地图创作引擎

HiveWE&#xff1a;基于C20模块化架构的下一代魔兽争霸III地图创作引擎 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE HiveWE作为开源社区驱动的魔兽争霸III地图编辑器&#xff0c;通过现代C20模块化架构重…...

数说故事解读AI品牌心智:让品牌被AI看见、推荐与信任

当AI全面进入商业决策、智能体成为企业标配&#xff0c;品牌增长逻辑正在发生底层重构&#xff1a;品牌不再只是面对消费者&#xff0c;更需要被AI识别、理解、推荐与信任。数说故事在2026 D3智慧增长大会上提出全新观点——AI品牌心智&#xff0c;将成为AI共生时代品牌最重要的…...

如何快速掌握91160-cli:面向新手的医院全自动挂号完整指南

如何快速掌握91160-cli&#xff1a;面向新手的医院全自动挂号完整指南 【免费下载链接】91160-cli 健康160全自动挂号脚本&#xff0c;捡漏神器 项目地址: https://gitcode.com/gh_mirrors/91/91160-cli 还在为医院挂号难而烦恼吗&#xff1f;91160-cli是一款专为医疗预…...

Taotoken API密钥的精细权限管理与操作审计日志在安全运维中的作用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken API密钥的精细权限管理与操作审计日志在安全运维中的作用 对于负责技术基础设施安全与合规的团队而言&#xff0c;引入新…...

文献处理效率暴跌?NotebookLM Agent的3层语义理解架构,让PDF秒变可推理知识图谱!

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;文献处理效率暴跌&#xff1f;NotebookLM Agent的3层语义理解架构&#xff0c;让PDF秒变可推理知识图谱&#xff01; 传统PDF阅读工具仅支持关键词检索与线性浏览&#xff0c;面对百页学术论文或跨领域…...

高校食堂学生信息录入系统开发实战|从0到1搭建简易Web系统

大家好&#xff5e; 最近完成了一个适合高校课程作业、小型食堂管理使用的「大学食堂学生信息录入系统」&#xff0c;全程用纯前端技术实现&#xff0c;无需复杂后端环境&#xff0c;双击即可运行&#xff0c;今天就来分享一下开发全过程、功能细节和使用技巧&#xff0c;适合刚…...

如何轻松完成ESP8266固件烧录:NodeMCU PyFlasher图形化工具详解

如何轻松完成ESP8266固件烧录&#xff1a;NodeMCU PyFlasher图形化工具详解 【免费下载链接】nodemcu-pyflasher Self-contained NodeMCU flasher with GUI based on esptool.py and wxPython. 项目地址: https://gitcode.com/gh_mirrors/no/nodemcu-pyflasher NodeMCU …...

信息学奥赛经典回溯:八皇后问题深度解析与OpenJudge实战

1. 八皇后问题&#xff1a;从棋盘游戏到算法经典 第一次接触八皇后问题时&#xff0c;我正在准备信息学奥赛的选拔考试。当时觉得这不过是个棋盘游戏&#xff0c;直到真正动手编码时&#xff0c;才发现其中蕴含的算法智慧远比想象中丰富。这个问题要求在一个8x8的国际象棋棋盘上…...