<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mr_Angier的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mr_Angier</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mr_Angier]]></copyright><item><title><![CDATA[数据结构与算法之最近公共祖先]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105937181</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105937181</guid><author>Mr_Angier</author><pubDate>Tue, 05 May 2020 19:16:53 +0800</pubDate><description><![CDATA[最近公共祖先
题目
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
百度百科中最近公共祖先的定义为：“对于有根树 T 的两个结点 p、q，最近公共祖先表示为一个结点 x，满足 x 是 p、q 的祖先且 x 的深度尽可能大（一个节点也可以是它自己的祖先）。”
例如，给定如下二叉树:  root = [3,5,1,6,2,0,8,null,null,7,4]

示例 1:
输入: root ...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之二叉树的最大深度]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105937053</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105937053</guid><author>Mr_Angier</author><pubDate>Tue, 05 May 2020 19:04:44 +0800</pubDate><description><![CDATA[二叉树的最大深度
题目
给定一个二叉树，找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例：
给定二叉树 [3,9,20,null,null,15,7]，
3

/ 
9  20
/  
15   7
返回它的最大深度 3 。
链接：https://leetcode-cn.com/problems/maximum-depth-o...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之对称二叉树]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105799779</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105799779</guid><author>Mr_Angier</author><pubDate>Mon, 27 Apr 2020 21:15:51 +0800</pubDate><description><![CDATA[对称二叉树
题目
给定一个二叉树，检查它是否是镜像对称的。
例如，二叉树 [1,2,2,3,4,4,3] 是对称的。
1

/ 
2   2
/ \ / 
3  4 4  3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
1

/ 
2   2
\   
3    3
链接：https://leetcode-cn.com/problems/symmetric-tre...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之相同的树]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105799161</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105799161</guid><author>Mr_Angier</author><pubDate>Mon, 27 Apr 2020 20:49:00 +0800</pubDate><description><![CDATA[相同的树
题目
给定两个二叉树，编写一个函数来检验它们是否相同。
如果两个树在结构上相同，并且节点具有相同的值，则认为它们是相同的。
示例 1:
输入:       1         1
/  \       /  
2   3   2   3
    [1,2,3],   [1,2,3]

输出: true
示例 2:
输入:      1          1
/           
2 ...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之格雷编码]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105633645</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105633645</guid><author>Mr_Angier</author><pubDate>Mon, 20 Apr 2020 13:55:41 +0800</pubDate><description><![CDATA[格雷编码
题目
格雷编码是一个二进制数字系统，在该系统中，两个连续的数值仅有一个位数的差异。
给定一个代表编码总位数的非负整数 n，打印其格雷编码序列。格雷编码序列必须以 0 开头。
示例 1:
输入: 2
输出: [0,1,3,2]
解释:
00 - 0
01 - 1
11 - 3
10 - 2
对于给定的 n，其格雷编码序列并不唯一。
例如，[0,2,3,1] 也是一个有效的格雷编码序列。
0...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之子集]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105629176</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105629176</guid><author>Mr_Angier</author><pubDate>Mon, 20 Apr 2020 13:38:11 +0800</pubDate><description><![CDATA[子集
题目
给定一组不含重复元素的整数数组 nums，返回该数组所有可能的子集（幂集）。
说明：解集不能包含重复的子集。
示例:
输入: nums = [1,2,3]
输出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
链接：https://leetcode-cn.com/problems/subsets
源代码（C#）
public c...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之只出现一次数字]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105437803</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105437803</guid><author>Mr_Angier</author><pubDate>Fri, 10 Apr 2020 17:20:13 +0800</pubDate><description><![CDATA[只出现一次数字
题目
给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
说明：
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗？
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
链接：https://leetcode-cn.com/problems/single-numbe...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之无重复字符的最长字串]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105397938</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105397938</guid><author>Mr_Angier</author><pubDate>Wed, 08 Apr 2020 21:46:08 +0800</pubDate><description><![CDATA[无重复字符的最长字串
题目
给定一个字符串，请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”，所以其长度为 3。
示例 2:
输入: “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”，所以其长度为 1。
示例 3:
输入: “pwwkew”
输出: 3
解释: 因为无重复字符...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之字符串反转]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105344351</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105344351</guid><author>Mr_Angier</author><pubDate>Mon, 06 Apr 2020 15:16:01 +0800</pubDate><description><![CDATA[字符串反转
题目
反转字符串
编写一个函数，其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间，你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
示例 1：
输入：[“h”,“e”,“l”,“l”,“o”]
输出：[“o”,“l”,“l”,“e”,“h”]...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之最长公共前缀]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105343347</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105343347</guid><author>Mr_Angier</author><pubDate>Mon, 06 Apr 2020 14:22:04 +0800</pubDate><description><![CDATA[最长公共前缀
题目
最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀，返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
源代码（C#）
public...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之滑动窗口最大值]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105209122</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105209122</guid><author>Mr_Angier</author><pubDate>Mon, 30 Mar 2020 21:30:56 +0800</pubDate><description><![CDATA[滑动窗口最大值
题目
给定一个数组 nums，有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回滑动窗口中的最大值。
进阶：
你能在线性时间复杂度内解决此题吗？
示例:
输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3
输出: [3,3,5,5,6,7]
解释:
滑动窗口的位置   ...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之设计循环双端队列]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105157572</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105157572</guid><author>Mr_Angier</author><pubDate>Sat, 28 Mar 2020 11:07:32 +0800</pubDate><description><![CDATA[设计循环双端队列
题目
设计实现双端队列。
你的实现需要支持以下操作：
MyCircularDeque(k)：构造函数,双端队列的大小为k。
insertFront()：将一个元素添加到双端队列头部。 如果操作成功返回 true。
insertLast()：将一个元素添加到双端队列尾部。如果操作成功返回 true。
deleteFront()：从双端队列头部删除一个元素。 如果操作成功返回 tru...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之整数反转]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105157140</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105157140</guid><author>Mr_Angier</author><pubDate>Sat, 28 Mar 2020 10:51:52 +0800</pubDate><description><![CDATA[整数反转
题目
给出一个 32 位的有符号整数，你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
链接：https://leetcode-cn.com/problems/reverse-integer
思路
利用取模和除法运算反转，再利用内置checked语法检测是否有内存...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之逆波兰表达式求值]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105026723</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105026723</guid><author>Mr_Angier</author><pubDate>Sun, 22 Mar 2020 13:44:36 +0800</pubDate><description><![CDATA[逆波兰表达式求值
题目
根据逆波兰表示法，求表达式的值。
有效的运算符包括 +, -, *, / 。每个运算对象可以是整数，也可以是另一个逆波兰表达式。
说明：
整数除法只保留整数部分。
给定逆波兰表达式总是有效的。换句话说，表达式总会得出有效数值且不存在除数为 0 的情况。
示例 1：
输入: [“2”, “1”, “+”, “3”, “*”]
输出: 9
解释: ((2 + 1) * 3) =...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之最小栈]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105026435</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105026435</guid><author>Mr_Angier</author><pubDate>Sun, 22 Mar 2020 13:29:57 +0800</pubDate><description><![CDATA[最小栈
题目
设计一个支持 push，pop，top 操作，并能在常数时间内检索到最小元素的栈。
push(x) – 将元素 x 推入栈中。
pop() – 删除栈顶的元素。
top() – 获取栈顶元素。
getMin() – 检索栈中的最小元素。
示例:
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0...]]></description><category></category></item><item><title><![CDATA[数据与结构之有效的括号]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/105024124</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/105024124</guid><author>Mr_Angier</author><pubDate>Sun, 22 Mar 2020 11:02:35 +0800</pubDate><description><![CDATA[有效的括号
题目
给定一个只包括 ‘(’，’)’，’{’，’}’，’[’，’]’ 的字符串，判断字符串是否有效。
有效字符串需满足：
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:
输入: “()”
输出: true
示例 2:
输入: “()[]{}”
输出: true
示例 3:
输入: “(]”
输出: false
示例 4:...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之环形链表]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/104875611</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/104875611</guid><author>Mr_Angier</author><pubDate>Sun, 15 Mar 2020 11:34:48 +0800</pubDate><description><![CDATA[环形链表
题目
给定一个链表，判断链表中是否有环。
为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 如果 pos 是 -1，则在该链表中没有环。
示例 1：
输入：head = [3,2,0,-4], pos = 1
输出：true
解释：链表中有一个环，其尾部连接到第二个节点。
示例 2：
输入：head = [1,2], pos = 0
输出...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之删除排序链表中的重复元素]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/104867452</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/104867452</guid><author>Mr_Angier</author><pubDate>Sun, 15 Mar 2020 10:52:54 +0800</pubDate><description><![CDATA[源代码（C#）
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public int val;
 *     public ListNode next;
 *     public ListNode(int x) { val = x; }
 * }
 */
public class Soluti...]]></description><category></category></item><item><title><![CDATA[数据结构与算法之合并两个有序列表]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/104867178</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/104867178</guid><author>Mr_Angier</author><pubDate>Sat, 14 Mar 2020 20:29:44 +0800</pubDate><description><![CDATA[合并两个有序列表
题目
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例：
输入：1-&gt;2-&gt;4, 1-&gt;3-&gt;4
输出：1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4
链接：https://leetcode-cn.com/problems/merge-two-sorted-lists
思路
创建一个新的链表...]]></description><category></category></item><item><title><![CDATA[如何使用优快云-markdown编辑器]]></title><link>https://blog.youkuaiyun.com/Mr_Angier/article/details/104867136</link><guid>https://blog.youkuaiyun.com/Mr_Angier/article/details/104867136</guid><author>Mr_Angier</author><pubDate>Sat, 14 Mar 2020 20:21:58 +0800</pubDate><description><![CDATA[这里写自定义目录标题欢迎使用M`在这里插入代码片`down编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...]]></description><category></category></item></channel></rss>