<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[YOLO的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/YOLO159</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; YOLO159]]></copyright><item><title><![CDATA[代码随想录算法训练营第10天（栈与队列1）| 232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145632200</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145632200</guid><author>YOLO159</author><pubDate>Fri, 14 Feb 2025 14:03:37 +0800</pubDate><description><![CDATA[​             ——————————————————————–》      队尾 （进）               ----------------------------》                队首（出）     --》​             ——————————————————————

二、#225. 用队列实现栈

思路一：

三、#20. 有效的括号

尽管 Deque 是双端队列，但它提供了栈的所有操作：这些方法完全符合栈的后进先出（LIFO）特性。因此，即使代码中声]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 17 天（树5）| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145339138</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145339138</guid><author>YOLO159</author><pubDate>Fri, 24 Jan 2025 11:46:10 +0800</pubDate><description><![CDATA[关键思路：中序遍历，如果遍历的过程中碰到有子树不是二叉搜索树的情况，这棵树就不是二叉搜索树。关键思路：直接在root1树上进行修改，不用多分配内存空间，且用的是前序遍历。关键思路：构造二叉树都是前序遍历，因为要先把根构造出来。关键思路：二叉搜索树自带顺序，不用考虑前中后序选哪个。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 16 天（树4）| 513.找树左下角的值、112. 路径总和i ii、106.从中序与后序遍历序列构造二叉树]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145321259</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145321259</guid><author>YOLO159</author><pubDate>Thu, 23 Jan 2025 12:13:55 +0800</pubDate><description><![CDATA[offer()是 Queue 接口的一个方法，用于将一个元素插入到队列的尾部。此题用前序后序中序都可以，因为没有对根节点有操作，只要保证先是左再是右就行。关键思路：逐步递减，最后总和是0，且是叶子节点，就是有。关键思路：这个题使用层序遍历（迭代法）更容易一些。先求出深度最大的一层，然后找这一层最左边的节点。然后在中序中切割前半（左子树）和后半（右子树）根据前或后序找根节点；]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 15 天（树3）| 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145304641</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145304641</guid><author>YOLO159</author><pubDate>Wed, 22 Jan 2025 15:34:08 +0800</pubDate><description><![CDATA[递归，从最下面的节点，依次判断其左右子树的高度，大于1就返回-1，小于1就返回当前值中大的加1就是此节点的高度。1、递归函数参数以及返回值：TreeNode，以及用来保存的数组，以便下次递归使用。此题特殊在：要通过父节点去判断，我们当前收集的节点是不是符合题意的节点。左叶子的定义：首先他必须是个叶子，接着他必须是其父节点的左节点。，这会导致不必要的节点访问，增加了时间复杂度。你在计算完全二叉树的节点数时，使用了。：向左遍历的深度和向右遍历的深度相等。是左移操作符，实际上应该是。，因为完全二叉树的节点数是。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 14 天（树2）| 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145281856</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145281856</guid><author>YOLO159</author><pubDate>Tue, 21 Jan 2025 13:31:41 +0800</pubDate><description><![CDATA[讲解：https://programmercarl.com/0111.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E6%B7%B1%E5%BA%A6.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE。讲解：https://programmercarl.com/0101.%E5%AF%B9%E7%A7%B0%E4%BA%8C%E5%8F%89%E6%A0%91.html。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第13天（树1）| 二叉树理论基础篇、二叉树的递归遍历（递归法）、 、二叉树层序遍历]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145261125</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145261125</guid><author>YOLO159</author><pubDate>Mon, 20 Jan 2025 13:51:21 +0800</pubDate><description><![CDATA[题目：讲解：https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE一、二叉树的种类满二叉树、完全二叉树、二叉搜索树、平衡二叉搜索树（AVL）1、满二叉树：如果一棵二叉树只有度为0的结点和度为2的结点，并且度为0的结点在同一层上，则这棵二叉树为满二叉树。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 9 天（字符串2）| 151.翻转字符串里的单词 卡码网55.右旋转字符串 KMP（跳过） 总结]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145183434</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145183434</guid><author>YOLO159</author><pubDate>Thu, 16 Jan 2025 14:51:40 +0800</pubDate><description><![CDATA[反转系列当需要固定规律一段一段去处理字符串的时候，要想想在for循环的表达式上做做文章。先整体反转再局部反转双指针法双指针法在数组，链表和字符串中很常用。使用双指针来提高效率，一般是将O(n^2)的时间复杂度，降为OnO(n)On。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 8 天（字符串1）| 344.反转字符串 541. 反转字符串II 卡码网54.替换数字]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145164038</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145164038</guid><author>YOLO159</author><pubDate>Wed, 15 Jan 2025 17:06:20 +0800</pubDate><description><![CDATA[两个元素换位置，不用额外的内存空间，可以考虑下异或运算。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 7 天（哈希表2）| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145145627</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145145627</guid><author>YOLO159</author><pubDate>Tue, 14 Jan 2025 19:01:09 +0800</pubDate><description><![CDATA[视频：https://www.bilibili.com/video/BV1Md4y1Q7Yh讲解：https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html不需要去重，因为取自的数可能不是同一个，HashMap不能去重 (HashSet可以去重)| 数组，set，map选型：因为字母异位词那道题，元素数量是有限的，所以用数组但是这道题元素数量很多，所以用set或者map。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 5 天（哈希表1）| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145121366</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145121366</guid><author>YOLO159</author><pubDate>Mon, 13 Jan 2025 18:40:01 +0800</pubDate><description><![CDATA[242.有效的字母异位词当我们遇到了要快速判断一个元素是否出现集合里的时候，就要考虑哈希法数据小用数组，数据大用set，数据比较散用map。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第 4 天（链表 2）| 24. 两两交换链表中的节点19.删除链表的倒数第N个节点 -]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145102236</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145102236</guid><author>YOLO159</author><pubDate>Sun, 12 Jan 2025 23:49:03 +0800</pubDate><description><![CDATA[注意操作的顺序：① dummy->2② 2->1③ 1->3注意：1、定义完虚拟头结点之后，记得连在头结点之前；2、fast 和 slow 指针放在循环中，用cur同时定位slow和fast的相对位置，省了每次定位 fs 两个指针的代码；3、这里不能写成 ||，因为写成 || 节点是奇数个就无法判断到后面的条件只要cur.next或中有一个不为null，循环就会继续。这意味着即使cur.next为null，只要不为null，循环仍然会继续，这会导致，因为你试图访问null的next属性。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第3天（链表1）| 203.移除链表元素 707.设计链表 206.反转链表]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145084732</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145084732</guid><author>YOLO159</author><pubDate>Sun, 12 Jan 2025 00:07:26 +0800</pubDate><description><![CDATA[1、虚拟头结点：如果想要针对不同位置（头与非头结点）的节点用相同的处理办法，可以考虑虚拟头结点，对所有节点一视同仁。2、双指针：节省空间3、注意几个调整动作的先后顺序，防止指针丢失的结果。]]></description><category></category></item><item><title><![CDATA[代码随想录算法训练营第1天（数组1）| 704. 二分查找、27. 移除元素、977.有序数组的平方]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/145019340</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/145019340</guid><author>YOLO159</author><pubDate>Wed, 08 Jan 2025 22:57:53 +0800</pubDate><description><![CDATA[二分查找前提：有序，无重复二分法区间有两种：左闭右闭[left, right]，左闭右开 [left, right)这个题的关键是：边界的处理三个变量：left, right,middle< or <=right)—>看是否合法左闭右闭(<=) or 左闭右开(<)，这两种方式怎么取值，主要取决于区间是否成立(把=单拎出来看情况是否合法)[left, right] [3,3]   合法[left, right） [3,3）不合法---->看是否比较过。]]></description><category></category></item><item><title><![CDATA[【黑马】MyBatis]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/141035933</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/141035933</guid><author>YOLO159</author><pubDate>Thu, 08 Aug 2024 21:46:37 +0800</pubDate><description><![CDATA[是一款持久层框架，用于简化JDBC开发持久层就是负责将数据保存到数据库的那一层代码JavaEE三层架构：表现层、业务层、持久层表现层负责做页面展示的，业务层做逻辑处理，持久层对数据进行持久化框架框架就是一个半成品软件，是一套可重用的、通用的、软件基础代码模型在框架的基础上构建软件编写更加高效、规范、通用、可扩展。]]></description><category></category></item><item><title><![CDATA[【狂神】多线程（含内部类、Lambda）]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/140835378</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/140835378</guid><author>YOLO159</author><pubDate>Thu, 01 Aug 2024 00:33:36 +0800</pubDate><description><![CDATA[多个线程操作同一个资源并发：同一个对象被多个线程同时操作处理多线程问题时，多个线程访问同一个对象，并且某些线程还想修改这个对象这时候我们就需要线程同步。线程同步其实就是一种等待机制，多个需要同时访问此对象的线程进入这个对象的等待池形成队列，等待前面线程使用完毕，下一个线程再使用实现同步需要队列和锁线程同步在这里举三个例子来展示线程的三大不安全案例一：三个人抢10张票案例二：两个人取钱案例三：创建10000条线程。]]></description><category></category></item><item><title><![CDATA[【黑马java基础】单元测试、反射、注解]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/140835254</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/140835254</guid><author>YOLO159</author><pubDate>Thu, 01 Aug 2024 00:20:24 +0800</pubDate><description><![CDATA[先来认识一下什么是注解？Java注解是代码中的特殊标记，比如@Override、@Test等，作用是：让其他程序根据注解信息决定怎么执行该程序。比如：Junit框架的@Test注解可以用在方法上，用来标记这个方法是测试方法，被@Test标记的方法能够被Junit框架执行。再比如：@Override注解可以用在方法上，用来标记这个方法是重写方法，被@Override注解标记的方法能够被IDEA识别进行语法检查。注解不光可以用在方法上，还可以用在类上、变量上、构造器上等位置。]]></description><category></category></item><item><title><![CDATA[【黑马java基础】网络通信]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/140835125</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/140835125</guid><author>YOLO159</author><pubDate>Thu, 01 Aug 2024 00:07:40 +0800</pubDate><description><![CDATA[可以让设备中的程序与网络上其他设备中的程序进行数据交互（实现网络通信的）。java提供了java.net.*包下提供了网络编程的解决方案通信的基本架构主要有两种形式：一种是CS架构（Client 客户端/Server服务端）、一种是BS架构（Brower 浏览器/Server服务端）。**BS架构的特点：**BS架构不需要开发客户端软件，用户只需要通过浏览器输入网址就可以直接从服务器获取数据，并由服务器将数据返回给浏览器，用户在页面上就可以看到各种数据了。]]></description><category></category></item><item><title><![CDATA[【黑马java基础】多线程]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/140672955</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/140672955</guid><author>YOLO159</author><pubDate>Thu, 25 Jul 2024 08:57:59 +0800</pubDate><description><![CDATA[线程安全问题指的是，多个线程同时操作同一个共享资源的时候，可能会出现业务安全问题。比如：取钱的线程安全问题（场景：小明和小红是一对夫妻，他们有一个共同的账户，余额是10万元，如果小明和小红同时来取钱，并且2人各自都在取钱10万元，可能会出现什么问题呢？①小明线程步骤一先判断余额是否够，够②小红线程步骤一先判断余额是否够，够③因为小明线程判断够，所以银行吐出10万④银行账户更新为0元⑤因为小红线程判断够，所以银行吐出10万⑥银行账户更新为-10万元结果：2人都取钱10万，银行亏了10万。]]></description><category></category></item><item><title><![CDATA[【黑马java基础】特殊文件，日志]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/140638238</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/140638238</guid><author>YOLO159</author><pubDate>Tue, 23 Jul 2024 22:58:04 +0800</pubDate><description><![CDATA[XML（ 全称EXtensible Markup Language， 可扩展标记语言 ）可扩展的意思就是里面的标签可以自己定义。本质是一种数据的格式，可以用来存储复杂的数据结构，和数据关系。XML的特点XML中的“<标签名>” 称为一个标签或一个元素，一般是成对出现的。XML中的标签名可以自己定义（可扩展），但必须要正确的嵌套。XML中只能有一个根标签。XML中的标签可以有属性。如果一个文件中放置的是XML格式的数据，这个文件就是XML文件，后缀一般要写成.xml。XML的创建。]]></description><category></category></item><item><title><![CDATA[【黑马java基础】IO流]]></title><link>https://blog.youkuaiyun.com/YOLO159/article/details/140613427</link><guid>https://blog.youkuaiyun.com/YOLO159/article/details/140613427</guid><author>YOLO159</author><pubDate>Mon, 22 Jul 2024 16:53:36 +0800</pubDate><description><![CDATA[ASCII(American Standard Code for Information Interchange)： 美国信息交换标准代码，包括了英文、符号等。标准ASCII使用1个字节存储一个字符，首尾是0，总共可表示128个字符，对美国佬来说完全够用。汉字编码字符集，包含了2万多个汉字等字符，GBK中一个中文字符编码成两个字节的形式存储。汉字的第一个字节的第一位必须是1。注意：GBK兼容了ASCII字符集。Unicode是国际组织制定的，可以容纳世界上所有文字、符号的字符集。]]></description><category></category></item></channel></rss>