<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小黄鸡成长之路]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a9192943</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a9192943]]></copyright><item><title><![CDATA[leetcode-237-删除链表中的节点]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/93307820</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/93307820</guid><author>a9192943</author><pubDate>Sat, 22 Jun 2019 11:00:19 +0800</pubDate><description><![CDATA[一、题目
题目链接：237-删除链表中的节点
请编写一个函数，使其可以删除某个链表中给定的（非末尾）节点，你将只被给定要求被删除的节点。
现有一个链表 –&nbsp;head =&nbsp;[4,5,1,9]，它可以表示为:

示例1
输入: head = [4,5,1,9], node = 5
输出: [4,1,9]
解释: 给定你链表中值为&nbsp;5&nbsp;的第二个节点，那么在调用了你...]]></description><category></category></item><item><title><![CDATA[leetcode-236-二叉树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/93024936</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/93024936</guid><author>a9192943</author><pubDate>Thu, 20 Jun 2019 13:47:18 +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[leetcode-235-二叉搜索树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/92832469</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/92832469</guid><author>a9192943</author><pubDate>Wed, 19 Jun 2019 15:20:56 +0800</pubDate><description><![CDATA[一、题目
题目链接：235-二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。
百度百科中最近公共祖先的定义为：“对于有根树 T 的两个结点 p、q，最近公共祖先表示为一个结点 x，满足 x 是 p、q 的祖先且 x 的深度尽可能大（一个节点也可以是它自己的祖先）。”
例如，给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,...]]></description><category></category></item><item><title><![CDATA[leetcode-231-2的幂]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/92829928</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/92829928</guid><author>a9192943</author><pubDate>Wed, 19 Jun 2019 13:52:38 +0800</pubDate><description><![CDATA[一、题目
题目链接：231-2的幂
给定一个整数，编写一个函数来判断它是否是 2 的幂次方。
示例1
输入: 1
输出: true
解释: 20 = 1

示例2
输入: 16
输出: true
解释: 24 = 16

示例3
输入: 218
输出: false

二、代码
python
class Solution:
    def isPowerOfTwo(self, n: int) -&g...]]></description><category></category></item><item><title><![CDATA[leetcode-217-存在重复元素]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/92829894</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/92829894</guid><author>a9192943</author><pubDate>Wed, 19 Jun 2019 13:50:03 +0800</pubDate><description><![CDATA[一、题目
题目链接：217-存在重复元素
给定一个整数数组，判断是否存在重复元素。
如果任何值在数组中出现至少两次，函数返回 true。如果数组中每个元素都不相同，则返回 false。
示例1
输入: [3,2,1,5,6,4] 和 k = 2
输出: 5

示例2
输入: [3,2,3,1,2,4,5,5,6] 和 k = 4
输出: 4

说明:
你可以假设 k 总是有效的，且 1 ≤ k ≤...]]></description><category></category></item><item><title><![CDATA[leetcode-215-数组中的第K个最大元素]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/92767350</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/92767350</guid><author>a9192943</author><pubDate>Tue, 18 Jun 2019 10:37:14 +0800</pubDate><description><![CDATA[一、题目
题目链接：215-数组中的第K个最大元素
在未排序的数组中找到第 k 个最大的元素。请注意，你需要找的是数组排序后的第 k 个最大的元素，而不是第 k 个不同的元素。
示例1
输入: [3,2,1,5,6,4] 和 k = 2
输出: 5

示例2
输入: [3,2,3,1,2,4,5,5,6] 和 k = 4
输出: 4

说明:*
你可以假设 k 总是有效的，且 1 ≤ k ≤ 数组...]]></description><category></category></item><item><title><![CDATA[leetcode-206-反转链表]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/92604102</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/92604102</guid><author>a9192943</author><pubDate>Mon, 17 Jun 2019 12:53:01 +0800</pubDate><description><![CDATA[一、题目
题目链接：
反转一个单链表。
示例1
输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL
输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL

进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题？
二、代码
python
def reverseList(self, head):
     prev = None 
     ...]]></description><category></category></item><item><title><![CDATA[leetcode-169-求众数]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/92083247</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/92083247</guid><author>a9192943</author><pubDate>Sat, 15 Jun 2019 14:09:28 +0800</pubDate><description><![CDATA[一、题目
题目链接：169-求众数
给定一个大小为 n 的数组，找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的，并且给定的数组总是存在众数。
示例1
输入: [3,2,3]
输出: 3

示例2
输入: [2,2,1,1,1,2,2]
输出: 2

二、代码
python
class Solution(object):
    def majorit...]]></description><category></category></item><item><title><![CDATA[leetcode-160-相交链表]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/92082867</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/92082867</guid><author>a9192943</author><pubDate>Sat, 15 Jun 2019 14:03:36 +0800</pubDate><description><![CDATA[一、题目
题目链接：160-相交链表
编写一个程序，找到两个单链表相交的起始节点。
如下面的两个链表：

在节点 c1 开始相交。
示例1

输入：intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3
输出：Reference of the node with value = 8
输入解...]]></description><category></category></item><item><title><![CDATA[leetcode-155-最小栈]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91959388</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91959388</guid><author>a9192943</author><pubDate>Fri, 14 Jun 2019 11:31:36 +0800</pubDate><description><![CDATA[一、题目
题目链接：155-最小栈
设计一个支持 push，pop，top 操作，并能在常数时间内检索到最小元素的栈。

push(x) – 将元素 x 推入栈中。
pop() – 删除栈顶的元素。
top() – 获取栈顶元素。
getMin() – 检索栈中的最小元素。

示例1
MinStack minStack = new MinStack();
minStack.push(-2);
mi...]]></description><category></category></item><item><title><![CDATA[leetcode-148-排序链表]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91519849</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91519849</guid><author>a9192943</author><pubDate>Wed, 12 Jun 2019 14:25:04 +0800</pubDate><description><![CDATA[一、题目
题目链接：148-排序链表
在  O(nlogn) 时间复杂度和常数级空间复杂度下，对链表进行排序。
示例1
输入: 4-&gt;2-&gt;1-&gt;3
输出: 1-&gt;2-&gt;3-&gt;4

示例2
输入: -1-&gt;5-&gt;3-&gt;4-&gt;0
输出: -1-&gt;0-&gt;3-&gt;4-&gt;5

二、代码
python
思路：使用快慢指针寻找链...]]></description><category></category></item><item><title><![CDATA[leetcode-146-LRU缓存机制]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91417069</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91417069</guid><author>a9192943</author><pubDate>Tue, 11 Jun 2019 11:11:36 +0800</pubDate><description><![CDATA[一、题目
题目链接：146-LRU缓存机制
运用你所掌握的数据结构，设计和实现一个  LRU (最近最少使用) 缓存机制。它应该支持以下操作： 获取数据 get 和 写入数据 put 。
获取数据 get(key) - 如果密钥 (key) 存在于缓存中，则获取密钥的值（总是正数），否则返回 -1。
写入数据 put(key, value) - 如果密钥不存在，则写入其数据值。当缓存容量达到上限时...]]></description><category></category></item><item><title><![CDATA[leetcode-142-环形链表 II]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91411664</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91411664</guid><author>a9192943</author><pubDate>Tue, 11 Jun 2019 09:37:15 +0800</pubDate><description><![CDATA[一、题目
题目链接：142-环形链表 II
给定一个链表，返回链表开始入环的第一个节点。 如果链表无环，则返回 null。
为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 如果 pos 是 -1，则在该链表中没有环。
说明：不允许修改给定的链表。
示例1
输入：head = [3,2,0,-4], pos = 1
输出：tail connects...]]></description><category></category></item><item><title><![CDATA[leetcode-141-环形链表]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91359411</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91359411</guid><author>a9192943</author><pubDate>Mon, 10 Jun 2019 00:17:26 +0800</pubDate><description><![CDATA[一、题目
题目链接：141-环形链表
给定一个链表，判断链表中是否有环。
为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 如果 pos 是 -1，则在该链表中没有环。
示例1
输入：head = [3,2,0,-4], pos = 1
输出：true
解释：链表中有一个环，其尾部连接到第二个节点。


示例2
输入：head = [1,2], p...]]></description><category></category></item><item><title><![CDATA[leetcode-136-只出现一次的数字]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91359407</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91359407</guid><author>a9192943</author><pubDate>Mon, 10 Jun 2019 00:16:00 +0800</pubDate><description><![CDATA[一、题目
题目链接：136-只出现一次的数字
给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
说明：
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗？
示例1
输入: [2,2,1]
输出: 1

示例2
输入: [4,1,2,1,2]
输出: 4

二、代码
python
class Solution:
    def si...]]></description><category></category></item><item><title><![CDATA[leetcode-124-二叉树中的最大路径和]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91359388</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91359388</guid><author>a9192943</author><pubDate>Mon, 10 Jun 2019 00:13:44 +0800</pubDate><description><![CDATA[一、题目
题目链接：124-二叉树中的最大路径和
给定一个非空二叉树，返回其最大路径和。
本题中，路径被定义为一条从树中任意节点出发，达到任意节点的序列。该路径至少包含一个节点，且不一定经过根节点。
示例1
输入: [1,2,3]

       1
      / \
     2   3

输出: 6

示例2
输入: [-10,9,20,null,null,15,7]

   -10
   ...]]></description><category></category></item><item><title><![CDATA[leetcode-122-买卖股票的最佳时机 II]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91041504</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91041504</guid><author>a9192943</author><pubDate>Thu, 06 Jun 2019 11:35:04 +0800</pubDate><description><![CDATA[一、题目
题目链接：122-买卖股票的最佳时机 II
给定一个数组，它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易（多次买卖一支股票）。
注意：你不能同时参与多笔交易（你必须在再次购买前出售掉之前的股票）。
示例1
输入: [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天（股票价格 = 1）的时候买入，在第 3 ...]]></description><category></category></item><item><title><![CDATA[leetcode-121-买卖股票的最佳时机]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/91041194</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/91041194</guid><author>a9192943</author><pubDate>Thu, 06 Jun 2019 11:21:35 +0800</pubDate><description><![CDATA[一、题目
题目链接：121-买卖股票的最佳时机
给定一个数组，它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易（即买入和卖出一支股票），设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。
示例1
输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天（股票价格 = 1）的时候买入，在第 5 天（股票价格 = 6）的时候卖出，最大...]]></description><category></category></item><item><title><![CDATA[leetcode-104-二叉树的最大深度]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/90815828</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/90815828</guid><author>a9192943</author><pubDate>Wed, 05 Jun 2019 00:33:44 +0800</pubDate><description><![CDATA[一、题目
题目链接：104-二叉树的最大深度
给定一个二叉树，找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例1
给定二叉树 [3,9,20,null,null,15,7]，

    3
   / \
  9  20
    /  \
   15   7
   
返回它的最大深度 3 。

二、代码
python
1.递归
...]]></description><category></category></item><item><title><![CDATA[leetcode-89-格雷编码]]></title><link>https://blog.youkuaiyun.com/a9192943/article/details/90748786</link><guid>https://blog.youkuaiyun.com/a9192943/article/details/90748786</guid><author>a9192943</author><pubDate>Mon, 03 Jun 2019 11:00:27 +0800</pubDate><description><![CDATA[一、题目
题目链接：89-格雷编码
格雷编码是一个二进制数字系统，在该系统中，两个连续的数值仅有一个位数的差异。
给定一个代表编码总位数的非负整数 n，打印其格雷编码序列。格雷编码序列必须以 0 开头。
示例1
输入: 2
输出: [0,1,3,2]
解释:
00 - 0
01 - 1
11 - 3
10 - 2

对于给定的 n，其格雷编码序列并不唯一。
例如，[0,2,3,1] 也是一个有效的...]]></description><category></category></item></channel></rss>