<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Yantingqiu_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Yantingqiu_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Yantingqiu_]]></copyright><item><title><![CDATA[四数之和I和II]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/110232174</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/110232174</guid><author>Yantingqiu_</author><pubDate>Fri, 27 Nov 2020 15:08:56 +0800</pubDate><description><![CDATA[18. 四数之和

给定一个包含n 个整数的数组nums和一个目标值target，判断nums中是否存在四个元素 a，b，c和 d，使得a + b + c + d的值与target相等？找出所有满足条件且不重复的四元组。

注意：

答案中不可以包含重复的四元组。

示例：


给定数组 nums = [1, 0, -1, 0, -2, 2]，和 target = 0。

满足要求的四元组集合为：
[
  [-1,  0, 0, 1],
  [-2, -1, 1, 2],
  [-...]]></description><category></category></item><item><title><![CDATA[leetcode 滑动窗口]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109909810</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109909810</guid><author>Yantingqiu_</author><pubDate>Sat, 21 Nov 2020 22:14:08 +0800</pubDate><description><![CDATA[感谢微信公众号 labuladong的滑动窗口模板，真的好用，下边是利用模板做了六道题

第一题 3. 无重复字符的最长子串


3. 无重复字符的最长子串

给定一个字符串，请你找出其中不含有重复字符的最长子串的长度。

示例1:


输入: "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc"，所以其长度为 3。


示例 2:


输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b"，所以其长度为 1。


示例 3:


输入: "pww...]]></description><category></category></item><item><title><![CDATA[2020-11-20 147. 对链表进行插入排序]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109864940</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109864940</guid><author>Yantingqiu_</author><pubDate>Fri, 20 Nov 2020 21:07:41 +0800</pubDate><description><![CDATA[对链表进行插入排序。


插入排序的动画演示如上。从第一个元素开始，该链表可以被认为已经部分排序（用黑色表示）。
每次迭代时，从输入数据中移除一个元素（用红色表示），并原地将其插入到已排好序的链表中。



插入排序算法：

 插入排序是迭代的，每次只移动一个元素，直到所有元素可以形成一个有序的输出列表。
 每次迭代中，插入排序只从输入数据中移除一个待排序的元素，找到它在序列中适当的位置，并将其插入。
 重复直到所有输入数据插入完为止。



示例 1：

输入: 4-&gt;...]]></description><category></category></item><item><title><![CDATA[2020-11-19 134. 加油站]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109820765</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109820765</guid><author>Yantingqiu_</author><pubDate>Thu, 19 Nov 2020 18:50:36 +0800</pubDate><description><![CDATA[在一条环路上有 N 个加油站，其中第 i 个加油站有汽油 gas[i] 升。

你有一辆油箱容量无限的的汽车，从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发，开始时油箱为空。

如果你可以绕环路行驶一周，则返回出发时加油站的编号，否则返回 -1。

说明:

 如果题目有解，该答案即为唯一答案。
 输入数组均为非空数组，且长度相同。
 输入数组中的元素均为非负数。

示例 1:

输入:
gas = [1,2,3,4,5]
cost...]]></description><category></category></item><item><title><![CDATA[2020-11-16  676. 实现一个魔法字典]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109724615</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109724615</guid><author>Yantingqiu_</author><pubDate>Mon, 16 Nov 2020 16:47:10 +0800</pubDate><description><![CDATA[设计一个使用单词列表进行初始化的数据结构，单词列表中的单词 互不相同 。 如果给出一个单词，请判定能否只将这个单词中一个字母换成另一个字母，使得所形成的新单词存在于你构建的字典中。

实现 MagicDictionary 类：

 MagicDictionary() 初始化对象
 void buildDict(String[] dictionary) 使用字符串数组 dictionary 设定该数据结构，dictionary 中的字符串互不相同
 bool search(String s...]]></description><category></category></item><item><title><![CDATA[211. 添加与搜索单词 - 数据结构设计]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109697979</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109697979</guid><author>Yantingqiu_</author><pubDate>Sun, 15 Nov 2020 10:21:44 +0800</pubDate><description><![CDATA[请你设计一个数据结构，支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。

实现词典类 WordDictionary ：

 WordDictionary() 初始化词典对象
 void addWord(word) 将 word 添加到数据结构中，之后可以对它进行匹配
 bool search(word) 如果数据结构中存在字符串与 word 匹配，则返回 true ；否则，返回 false 。word 中可能包含一些 '.' ，每个 . 都可以表示任何一个字母。

...]]></description><category></category></item><item><title><![CDATA[2020-11-14 208. 实现 Trie (前缀树)]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109696843</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109696843</guid><author>Yantingqiu_</author><pubDate>Sat, 14 Nov 2020 21:26:24 +0800</pubDate><description><![CDATA[实现一个 Trie (前缀树)，包含 insert, search, 和 startsWith 这三个操作。

示例:

Trie trie = new Trie();

trie.insert("apple");
trie.search("apple"); // 返回 true
trie.search("app"); // 返回 false
trie.startsWith("app"); // 返回 true
trie.insert("app"); 
trie.search("app")...]]></description><category></category></item><item><title><![CDATA[2020-11-13 328. 奇偶链表]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109670902</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109670902</guid><author>Yantingqiu_</author><pubDate>Fri, 13 Nov 2020 11:10:14 +0800</pubDate><description><![CDATA[给定一个单链表，把所有的奇数节点和偶数节点分别排在一起。请注意，这里的奇数节点和偶数节点指的是节点编号的奇偶性，而不是节点的值的奇偶性。

请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1)，时间复杂度应为 O(nodes)，nodes 为节点总数。

示例 1:

输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL
输出: 1-&gt;3-&gt;5-&gt;2-&gt;4-&gt;NULL

示例 2:

输入: 2-&gt;1-&gt;3-&gt;5-&gt;6-&.]]></description><category></category></item><item><title><![CDATA[2020-11-12 序列化二叉树]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109640291</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109640291</guid><author>Yantingqiu_</author><pubDate>Thu, 12 Nov 2020 11:28:13 +0800</pubDate><description><![CDATA[请实现两个函数，分别用来序列化和反序列化二叉树。

示例:

你可以将以下二叉树：

 1
 / \
 2 3
 / \
 4 5

序列化为 "[1,2,3,null,null,4,5]"

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/xu-lie-hua-er-cha-shu-lcof
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。


自己太菜了，参考的题解


class Codec...]]></description><category></category></item><item><title><![CDATA[2020-11-11  973. 最接近原点的 K 个点]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109588057</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109588057</guid><author>Yantingqiu_</author><pubDate>Wed, 11 Nov 2020 10:39:47 +0800</pubDate><description><![CDATA[我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。

（这里，平面上两点之间的距离是欧几里德距离。）

你可以按任何顺序返回答案。除了点坐标的顺序之外，答案确保是唯一的。



示例 1：


输入：points = [[1,3],[-2,2]], K = 1
输出：[[-2,2]]
解释： 
(1, 3) 和原点之间的距离为 sqrt(10)，
(-2, 2) 和原点之间的距离为 sqrt(8)，
由于 sqrt(8) &lt; sqrt(10...]]></description><category></category></item><item><title><![CDATA[2020-11-8 二叉树的序列化]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109564596</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109564596</guid><author>Yantingqiu_</author><pubDate>Sun, 08 Nov 2020 20:48:46 +0800</pubDate><description><![CDATA[题目描述

二叉树被记录为文件的过程叫作二叉树的序列化，通过文件内容重建原来二叉树的过程叫作二叉树的反序列化，给定一颗二叉树，请将该二叉树先序序列化和层序序列化。

假设序列化的结果字符串为 str，初始时str = ""，遍历二叉树时，遇到null节点，则在str的末尾加上 "#!"，否则加上"当前的节点值!"。

输入描述:


第一行输入两个整数 n 和 root，n 表示二叉树的总节点个数，root 表示二叉树的根节点。
以下 n 行每行三个整数 fa，lch，rch，表示 fa 的左儿...]]></description><category></category></item><item><title><![CDATA[2020-11-08 判断一棵二叉树是否为搜索树和完全二叉树]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109558147</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109558147</guid><author>Yantingqiu_</author><pubDate>Sun, 08 Nov 2020 12:56:03 +0800</pubDate><description><![CDATA[题目描述

给定一棵二叉树，已经其中没有重复值的节点，请判断该二叉树是否为搜索二叉树和完全二叉树。

输入描述:


第一行输入两个整数 n 和 root，n 表示二叉树的总节点个数，root 表示二叉树的根节点。

以下 n 行每行三个整数 fa，lch，rch，表示 fa 的左儿子为 lch，右儿子为 rch。(如果 lch 为 0 则表示 fa 没有左儿子，rch同理)

ps:节点的标号就是节点的值

输出描述:


第一行输出该二叉树是否为搜索二叉树的答案，如果是则输出 "true"，否则输出 .]]></description><category></category></item><item><title><![CDATA[2020-11-07  面试题 04.06. 后继者]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109549666</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109549666</guid><author>Yantingqiu_</author><pubDate>Sat, 07 Nov 2020 17:20:10 +0800</pubDate><description><![CDATA[设计一个算法，找出二叉搜索树中指定节点的“下一个”节点（也即中序后继）。

如果指定节点没有对应的“下一个”节点，则返回null。

示例 1:

输入: root = [2,1,3], p = 1

 2
/ \
1 3

输出: 2

示例 2:

输入: root = [5,3,6,2,4,null,null,1], p = 6

 5
 / \
 3 6
 / \
 2 4
/ 
1

输出: null

来源：力扣（LeetCode）
链接：h...]]></description><category></category></item><item><title><![CDATA[2020-11-06 在二叉树中找到一个节点的后继节点]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109540282</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109540282</guid><author>Yantingqiu_</author><pubDate>Fri, 06 Nov 2020 22:17:08 +0800</pubDate><description><![CDATA[题目描述

二叉树中一个节点的后继节点指的是，二叉树的中序遍历的序列中的下一个节点。

输入描述:


第一行输入两个整数 n 和 root，n 表示二叉树的总节点个数，root 表示二叉树的根节点。

以下 n 行每行四个整数 fa，lch，rch，表示 fa 的左儿子为 lch，右儿子为 rch。(如果 lch 为 0 则表示 fa 没有左儿子，rch同理)

最后一行输入要询问的节点 node。

输出描述:


输出一个整数表示答案。(如果 node 是最后一个节点，则输出 0 )

示例1

输.]]></description><category></category></item><item><title><![CDATA[2020-11-04   	将单向链表按某值划分为左边小，中间相等，右边大的形式]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109489072</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109489072</guid><author>Yantingqiu_</author><pubDate>Wed, 04 Nov 2020 14:03:09 +0800</pubDate><description><![CDATA[题目描述

给定一个链表，再给定一个整数pivot，请将链表调整为左部分都是值小于pivot的节点，中间部分都是值等于pivot的节点，右边部分都是大于pivot的节点。

除此之外，对调整后的节点顺序没有更多要求。

输入描述:


第一行两个整数 n 和 pivot，n 表示链表的长度。

第二行 n 个整数 ai 表示链表的节点。

输出描述:


请在给定的函数内返回链表的头指针。

示例1

输入

复制


5 3
9 0 4 5 1

输出

复制


1 0 4 5 9

...]]></description><category></category></item><item><title><![CDATA[2020-11-4 计算数组的小和]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109488414</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109488414</guid><author>Yantingqiu_</author><pubDate>Wed, 04 Nov 2020 13:46:56 +0800</pubDate><description><![CDATA[题目描述

数组小和的定义如下：

例如，数组s = [1, 3, 5, 2, 4, 6]，在s[0]的左边小于或等于s[0]的数的和为0；在s[1]的左边小于或等于s[1]的数的和为1；在s[2]的左边小于或等于s[2]的数的和为1+3=4；在s[3]的左边小于或等于s[3]的数的和为1；

在s[4]的左边小于或等于s[4]的数的和为1+3+2=6；在s[5]的左边小于或等于s[5]的数的和为1+3+5+2+4=15。所以s的小和为0+1+4+1+6+15=27

给定一个数组s，实现函数返回s的小和.]]></description><category></category></item><item><title><![CDATA[2020-11-2 之字形打印矩阵]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109456834</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109456834</guid><author>Yantingqiu_</author><pubDate>Mon, 02 Nov 2020 20:33:31 +0800</pubDate><description><![CDATA[题目描述

给定一个矩阵matrix，按照“之”字形的方式打印这个矩阵，如样例所示。

输入描述:


输入包含多行，第一行包含两个整数n和m(1≤n,m≤200)(1 \leq n,m \leq 200)(1≤n,m≤200)，代表矩阵的行数和列数，接下来n行，每行m个整数，代表矩阵matrix(1≤matrix[i][j]≤40000)(1\leq matrix[i][j] \leq 40000)(1≤matrix[i][j]≤40000)。

输出描述:


输出一行 ，代表“之”字形输出的矩阵。
.]]></description><category></category></item><item><title><![CDATA[2020-11-02 349.两个数组的交集]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109447402</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109447402</guid><author>Yantingqiu_</author><pubDate>Mon, 02 Nov 2020 13:44:10 +0800</pubDate><description><![CDATA[349. 两个数组的交集

给定两个数组，编写一个函数来计算它们的交集。



示例 1：


输入：nums1 = [1,2,2,1], nums2 = [2,2]
输出：[2]


示例 2：


输入：nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出：[9,4]


果然菜鸡只能做做简单题了。

思路：两个数组的交集，直接先遍历数组一得到数组一中存在的元素，然后遍历数组二，获取重复的元素，但是此时每个元素都是唯一的所以考虑用unordered_set去重。



c...]]></description><category></category></item><item><title><![CDATA[2020-10-31 54.螺旋矩阵]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109400914</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109400914</guid><author>Yantingqiu_</author><pubDate>Sat, 31 Oct 2020 12:30:52 +0800</pubDate><description><![CDATA[54. 螺旋矩阵

给定一个包含m x n个元素的矩阵（m 行, n 列），请按照顺时针螺旋顺序，返回矩阵中的所有元素。

示例1:


输入:
[
 [ 1, 2, 3 ],
 [ 4, 5, 6 ],
 [ 7, 8, 9 ]
]
输出: [1,2,3,6,9,8,7,4,5]


示例2:


输入:
[
  [1, 2, 3, 4],
  [5, 6, 7, 8],
  [9,10,11,12]
]
输出: [1,2,3,4,8,12,11,10,9,5,6,7]



左神方法的的C+...]]></description><category></category></item><item><title><![CDATA[2020-10-28 345. 反转字符串中的元音字母]]></title><link>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109334905</link><guid>https://blog.youkuaiyun.com/Yantingqiu_/article/details/109334905</guid><author>Yantingqiu_</author><pubDate>Wed, 28 Oct 2020 16:03:33 +0800</pubDate><description><![CDATA[345. 反转字符串中的元音字母

编写一个函数，以字符串作为输入，反转该字符串中的元音字母。



示例 1：


输入："hello"
输出："holle"


示例 2：


输入："leetcode"
输出："leotcede"



提示：

元音字母不包含字母 "y" 。



class Solution {
public:
    string reverseVowels(string s) {
        unordered_map&lt;char, int&gt; hash {...]]></description><category></category></item></channel></rss>