<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_74201718的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_74201718</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_74201718]]></copyright><item><title><![CDATA[使用Go语言实现文件的复制]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/138250391</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/138250391</guid><author>m0_74201718</author><pubDate>Sat, 27 Apr 2024 15:44:52 +0800</pubDate><description><![CDATA[import ("bufio"//缓存"fmt""io""os"]]></description><category></category></item><item><title><![CDATA[回溯算法（DFS）]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133936376</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133936376</guid><author>m0_74201718</author><pubDate>Thu, 19 Oct 2023 22:48:00 +0800</pubDate><description><![CDATA[此类类型的题目都可以套此模板。]]></description><category></category></item><item><title><![CDATA[回溯算法1：组合]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133873071</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133873071</guid><author>m0_74201718</author><pubDate>Mon, 16 Oct 2023 23:14:13 +0800</pubDate><description><![CDATA[【代码】回溯算法1：组合。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day19● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133777471</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133777471</guid><author>m0_74201718</author><pubDate>Wed, 11 Oct 2023 19:55:34 +0800</pubDate><description><![CDATA[3.700.二叉搜索树中的搜索。2.617.合并二叉树。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day17|513.找树左下角的值|112. 路径总和 |06.从中序与后序遍历序列构造二叉树]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133746114</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133746114</guid><author>m0_74201718</author><pubDate>Tue, 10 Oct 2023 17:16:23 +0800</pubDate><description><![CDATA[迭代法，轻松解决。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day17|110.平衡二叉树 | 257. 二叉树的所有路径 |404.左叶子之和]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133697801</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133697801</guid><author>m0_74201718</author><pubDate>Mon, 09 Oct 2023 12:35:57 +0800</pubDate><description><![CDATA[本题需要区分二叉树的高度和深度的问题，两者的使用的遍历方式不同。高度需要后序遍历，深度则需要用前序遍历。采用的是后序遍历，先找出所有的左叶子数，然后再相加。2. 二叉树的所有路径。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day15|104.二叉树的最大深度|111.二叉树的最小深度| 222.完全二叉树的节点个数]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133660228</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133660228</guid><author>m0_74201718</author><pubDate>Sat, 07 Oct 2023 23:25:50 +0800</pubDate><description><![CDATA[递归逻辑：先求它的左子树的节点数量，再求右子树的节点数量，最后取总和再加一 （加1是因为算上当前中间节点）就是目前节点为根节点的节点数量。与上题类似，容易按部就班写成这样。3.完全二叉树的节点个数。1.二叉树的最大深度。2.二叉树的最小深度。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day14|层序遍历|226.翻转二叉树 |101.对称二叉树]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133659243</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133659243</guid><author>m0_74201718</author><pubDate>Sat, 07 Oct 2023 23:02:57 +0800</pubDate><description><![CDATA[依旧递归三部曲：需要考虑左空右非，坐非右空，两边值不一样的情况。然后采用的是后序遍历，得出值。1.层序遍历 （共10题，类型差不多，只讲一题）递归虽然简洁，但详细理解所有的代码不太容易。本题采用的是前序遍历。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day13|递归遍历|迭代遍历]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133657961</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133657961</guid><author>m0_74201718</author><pubDate>Sat, 07 Oct 2023 22:34:51 +0800</pubDate><description><![CDATA[三大遍历全用递归实现，需要加强这方面的学习以其为例，详细说明。递归的三部曲：确定递归函数的返回值和参数：


其次确定递归的终止条件：


最后确定单层递归的逻辑：





1.3.后序遍历




迭代遍历

2.1.前序遍历

前序遍历是中左右，每次先处理的是中间节点，那么先将根节点放入栈中，然后将右孩子加入栈，再加入左孩子。为什么要先加入 右孩子，再加入左孩子呢？ 因为这样出栈的时候才是中左右的顺序。动画如下：


  


2.3.后序遍历

再来看后序遍历，先序遍历是中左右，后续遍历是左右中，那]]></description><category></category></item><item><title><![CDATA[day011|20. 有效的括号|1047. 删除字符串中的所有相邻重复项|150. 逆波兰表达式求值]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133513782</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133513782</guid><author>m0_74201718</author><pubDate>Tue, 03 Oct 2023 13:45:49 +0800</pubDate><description><![CDATA[本题一上来不急着写，需要先考虑几种不符合条件的情况：第一种情况，字符串里左方向的括号多余了 ，所以不匹配。第二种情况，括号没有多余，但是 括号的类型没有匹配上。第三种情况，字符串里右方向的括号多余了，所以不匹配。如此分析之后，代码的剩下的内容就十分清楚易懂了。碰到左括号就进栈相应的右括号，若栈的top元素与s 数组当前遍历的元素相同，就出栈。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day10|232.用栈实现队列 |225. 用队列实现栈]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133487217</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133487217</guid><author>m0_74201718</author><pubDate>Mon, 02 Oct 2023 11:47:37 +0800</pubDate><description><![CDATA[仅仅详解出栈功能（使用的是1个队列）：将队列的尾前的元素弹出，再压入。直到队尾元素成为队前元素，将其弹出，便模拟了出栈这个过程。队列的输出：没什么不同，直接输入到instack。过程与图片相似，使用两个栈，方向相反。大体上与1相似，除了出栈功能。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day08 |344.反转字符串| 541. 反转字符串II● 剑指Offer 05.替换空格| 151.翻转字符串里的单词|剑指Offer58-II.左旋转]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133356607</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133356607</guid><author>m0_74201718</author><pubDate>Wed, 27 Sep 2023 19:46:06 +0800</pubDate><description><![CDATA[1..反转字符串1..反转字符串。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day07|第454题.四数相加II| 383.赎金信 |三数之和 /四数之和]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133319789</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133319789</guid><author>m0_74201718</author><pubDate>Tue, 26 Sep 2023 18:39:06 +0800</pubDate><description><![CDATA[赎金信。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day06|242.有效的字母异位词|两个数组的交集|202. 快乐数|1. 两数之和（哈希表）]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133281783</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133281783</guid><author>m0_74201718</author><pubDate>Mon, 25 Sep 2023 22:29:19 +0800</pubDate><description><![CDATA[定义一个数组叫做record用来上记录字符串s里字符出现的次数。需要把字符映射到数组也就是哈希表的索引下标上，再遍历 字符串s的时候，这样就将字符串s中字符出现的次数，统计出来了。那看一下如何检查字符串t中是否出现了这些字符，同样在遍历字符串t的时候，对t中出现的字符映射哈希表索引上的数值再做-1的操作。那么最后检查一下，最后如果record数组所有元素都为零0，说明字符串s和t是字母异位词，return true。]]></description><category></category></item><item><title><![CDATA[day04|24. 两两交换链表中的节点 | 19.删除链表的倒数第N个节点| 面试题 02.07. 链表相交|142.环形链表II]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133235729</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133235729</guid><author>m0_74201718</author><pubDate>Sun, 24 Sep 2023 12:24:02 +0800</pubDate><description><![CDATA[难度不大，主要需要记住每个结点的连接顺序（最好画个图，防止搞反）]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day03|203.移除链表元素|707.设计链表|链表的翻转]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133189855</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133189855</guid><author>m0_74201718</author><pubDate>Fri, 22 Sep 2023 23:31:15 +0800</pubDate><description><![CDATA[该方从头结点开始遍历，先用while循环查找头结点的元素是否符合要求（注意：不能使用if，防止删除一次后的新头结点也满足要求），然后再开始遍历。删除元素时，需遍历到这个结点的前一位pre，并定义一个临时储存变量k，pre->next=k->next;返回新链表，即完成。该方法与第一种方法类似，唯一不同的是定义一个虚拟的新头结点，直接开始遍历（省去了while删去头结点的步骤）。]]></description><category></category></item><item><title><![CDATA[代码随想录day02| 有序数组的平方|长度最小的子数组|螺旋矩阵II]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133135314</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133135314</guid><author>m0_74201718</author><pubDate>Thu, 21 Sep 2023 19:47:20 +0800</pubDate><description><![CDATA[若下标为i，j之间数组元素值的和（sum）不小于target，sum的值减去nums[i],i向后移一位，以此类推。需要注意每次循环的起始位置和终止位置一致，比如都是左闭右开或者左开右闭（否则会出现循环紊乱），循坏次数为n/2；若下表为fast的元素的值大于slow的，将fast元素的值放入新数组，fast同时右移1位；比较下标为fast和slow的数组值的平方，并定义一个与原数组大小相同的新数组。若n为奇数，则需给nums[n/2][n/2]赋值。将数组所有元素的值平方，并使用sort函数排序。]]></description><category></category></item><item><title><![CDATA[代码随想录训练营day01|力扣704二分查找|力扣27移除元素]]></title><link>https://blog.youkuaiyun.com/m0_74201718/article/details/133087726</link><guid>https://blog.youkuaiyun.com/m0_74201718/article/details/133087726</guid><author>m0_74201718</author><pubDate>Wed, 20 Sep 2023 17:48:00 +0800</pubDate><description><![CDATA[if (nums[middle] > target) right 更新为 middle，因为当前nums[middle]不等于target，去左区间继续寻找，而寻找区间是左闭右开区间，所以right更新为middle，即：下一个查询区间不会去比较nums[middle]while (left < right)，这里使用 < ,因为left == right在区间[left, right)是没有意义的。从前往后开始遍历，如果nums[i]==val,则覆盖该数组元素，整体向前移一位。定义一个快指针和慢指针。]]></description><category></category></item></channel></rss>