Skip to content

ytt0911/Leetcode-book-with-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Leetcode

Python Solutions for Leetcode.

附上Leetcode官方学习路线: 学习路线

数组与字符串

数组

题目原址 难易程度 题解 解题思路
1991.寻找数组的中心索引 简单 left_sum + mid_value + right_sum = total,
即2*left_sum + mid_value = total,
找出第一个满足该式的值即可
35.搜索插入位置 简单 二分查找,不断逼近大于等于target的值,最终的左指针位置即为插入位置或匹配位置
56.合并区间 中等 按照区间左值大小排序,遍历时比较上一个区间右值与当前区间左值的大小,看是否能合并

二维数组(矩阵)

题目原址 难易程度 题解 解题思路
48.旋转矩阵 中等 原地顺时针旋转九十度等价于:先沿主对角线(左上到右下)转置矩阵,再逐行翻转矩阵
73.矩阵置零 中等 为实现原地操作,用第一行和第一列标记需要置零的行列,提前记录第一行第一列是否有0,最后再处理第一行第一列
498.对角线遍历 中等 解析太长,放在题解里的注释了

字符串

题目原址 难易程度 题解 解题思路
14.最长公共前缀 简单 把第一个字符串作为初始prefix, 依次和后面的每个字符串去比对,前缀不同就缩短prefix,直到都能匹配为止。如果某次比对后prefix变成空字符串,直接返回""
5.最长回文子串 中等
151.反转字符串中的单词 中等 python字符串是不可变类型,所以无法实现进阶原地解法,这题算简单题。先去除空格得到单词列表,反转之后拼接空格即可
28.找出字符串中第一个匹配项的下标 简单 看完链接里关于KMP算法的概念之后,看本题题解,注释清晰

双指针技巧

题目原址 难易程度 题解 解题思路
344.反转字符串 简单 左右指针往中间逼近,左右交换字符即可

About

Python Solutions for Leetcode.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages