自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Leetcode 141 & 142 环形链表Ⅰ、Ⅱ【链表】

Leetcode 1411.思路1)设置快慢指针,如果可以重合,则证明有环2.代码# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solut...

2019-01-31 13:11:48 110

原创 Leetcode 55 跳跃游戏 【贪心算法】

1.思路1)maxpos为已经经过的部分的数组所能达到的最远处2)遍历,每次都更新maxpos,其为之前maxpos和i+nums[i]的最大值2.代码class Solution: def canJump(self, nums): """ :type nums: List[int] :rtype: bool """...

2019-01-29 21:31:01 218

原创 Leetcode 92 反转链表 【链表】

本题介绍链表里的头插法。1.思路1)前进到反转开始处附近2)头插法头插法:1)3插到2前2)4插到3前3)完成2->3->4到4->3->2的反转注意防止断链,具体方法细节在代码的注释中。首先防止q前插导致下一循环断链,记录下q.next;然后插入q在头部(两步);最后初始化下一循环p,q。2.代码class Solution: def r...

2019-01-29 17:21:50 118

原创 Leetcode 86 分隔链表【链表】

1.代码# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def partition(self, head, x): ""...

2019-01-28 10:11:14 134

原创 Leetcode 83 删除排序链表中的重复元素【链表】

本题是简单的链表题。1.思路1)单指针,下一个和上一个相同,p.next指向p.next.next,否则p指针后移这里不用哑节点,直接开始就判断2.代码# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# se...

2019-01-27 11:13:18 135

原创 Leetcode 61 旋转链表【链表】

本题是稍有难度的链表题。1.思路1)计算链表长度2)计算新链表起始节点解题步骤1)边界检查——k=0或者空链表2)辅助节点p3)计算链表长度4)链表成环5)计算step,确定新的头节点6)辅助头节点指向新的头节点2.代码# Definition for singly-linked list.# class ListNode:# def __init__(self...

2019-01-26 11:11:31 174

原创 Leetcode 24 两两交换链表中的节点【链表】

本题是比较基础的链表题。链表题的典型套路。1.思路1)边界情况——只有少于2个元素2)定义p,q两个指针开始循环:3)交换改变p.next,q.next(此时p,q不变)p.next指向q,完成交换4)进行下一循环的初始化p是下一次要交换的两个节点的前一个节点q是下一次要交换的两个节点中的第一个节点2.代码# Definition for singly-linked li...

2019-01-25 18:31:19 93

原创 Leetcode 21 合并两个有序链表【链表】

本题是比较基础的链表题。链表题的典型套路。1.思路1)创建头节点,并用res记录其位置2)都不为None时,比较并且插入,注意每次插入后的l1orl2以及head的后移3)当有出现None时,插入另一个的剩余部分4)返回res.next2.代码# Definition for singly-linked list.# class ListNode:# def __ini...

2019-01-25 16:21:22 63

原创 Leetcode 19 删除链表的倒数第N个节点【链表】

本题是比较基础的链表题。1.思路1)单次遍历2)双指针Note:两次遍历的方法只需要一个指针,空间换时间,因此单次遍历不可避免使用双指针首先,双指针指向头指针,rear向后移动n次。如果此时指针已经指向None【边界情况】,意思就是第一个元素是需要被删除的,返回head.next如果此时指针不指向None,则head和rear都向后移动,直到rear.next是None,此时删除he...

2019-01-24 12:08:43 68

原创 Leetcode 2 两数相加【链表】

本题是比较基础的链表题。1.思路1)构造头部节点2)记录表头位置3)边相加,边移位(构造下一个节点,指向下一个节点)Note:最后return的时候要注意不能把头节点也返回(为了省时间,就没有把多余的节点删除)2.代码# Definition for singly-linked list.# class ListNode:# def __init__(self, x):...

2019-01-23 11:32:41 184

原创 Leetcode 15 三数之和【数组】

1.思路1)有序化2)固定住第一个数,利用头尾指针,依次向中间靠拢搜寻三数之和为03)无重复具体思路:Step1 首先固定住一个i,(为了避免重复)当i和i-1相同时,continue(即i++)进行下一个外循环Step2 每个外循环内再指定i+1头指针, L-1尾指针,当j<k时候,持续执行内循环Step3 给出每个i对应的target,如果符合就append,并且j...

2019-01-22 15:49:12 67

原创 Leetcode 64 最小路径和【动态规划】

本题属于典型的动态规划,以下是解题思路以及Python代码。

2019-01-21 12:56:04 202

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除