hi_小李子
hi_小李子
全部文章
分类
题解(56)
归档
标签
去牛客网
登录
/
注册
hi_小李子的博客
全部文章
(共51篇)
题解 | #链表中环的入口结点#
标记法 遍历链表,标记访问过的节点,若标记过的节点被再次访问,则为环的入口。 # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution...
Python3
链表
2022-03-09
1
265
题解 | #两个链表的第一个公共结点#
双指针法 双指针,分别指向链表1和链表2的表头,同时往后移动,若链表1到达末尾,则跳到链表2的表头继续进行(链表2同理)。当指针相同时,即为共用链表段的开端(数学原理)。 # def __init__(self, x): # self.val = x # self.next = N...
Python3
数学
双指针
链表
2022-03-09
0
335
题解 | #合并两个排序的链表#
非递归法 链表A:A1->A2->A3->...->An 链表B:B1->B2->B3->...->Bm 创建一个表头节点head,将链表A和链表 B的表头较小的节点,依次加入到表头head后面,直到链表A或B有一方到达末尾,最后将未到达末尾的剩余链表...
Python3
链表
2022-03-08
0
284
题解 | #反转链表#
就地反转法 开始新表头:newHead=None,切断head与head->next,记得保存temp = head->next,因为最后head节点处理完(与newHead连接),要跳到下一个节点(即该节点temp),而newHead与head连接完也跟head一样,需要后移一个节点(...
Python3
链表
2022-03-08
0
311
题解 | #从尾到头打印链表#
遍历 遍历链表,再对数组进行逆序处理 # def __init__(self, x): # self.val = x # self.next = None # # @param listNode ListNode类 # @return int整型一维数组 #...
Python3
数组
链表
2022-03-08
3
274
题解 | #数字序列中某一位的数字#
模拟法 自然数0,1,2,..,10,11,..,99,100,101,.., 可以根据自然数的位数(digitCount)划分为: 区间1:0-9 区间2:10-99 区间3:100-999 ... 从小到大,进行计位递增模拟,确定n所在区间后,再结合该区间内自然数位数和n,即可确定对应数字。...
Python3
模拟
计数
2022-03-08
0
264
题解 | #数字在升序数组中出现的次数#
二分法 由于是有序序列,可用二分法查寻目标数值k所在位置,再往前和往后统计k的数量 # @param data int整型一维数组 # @param k int整型 # @return int整型 # class Solution: def GetNumberOfK(self , dat...
Python3
二分查找
数组
2022-03-08
0
287
题解 | #数组中重复的数字#
循环遍历 for遍历列表所有元素,并通过python的in运算符,判断当前元素与其后面的元素是否存在重复 # @param numbers int整型一维数组 # @return int整型 # class Solution: def duplicate(self , numbers: L...
Python3
数组
2022-03-07
2
265
题解 | #字符串的排列#
递归法 这道题本质就是暴力枚举。如果字符串长度n确定,通过简单循环也能实现,即写n个for循环来枚举,但现在是字符串长度n可变,就需要用递归来实现(体现了递归存在的意义,实现了循环无法实现的“无限循环”或者说动态循环次数)。 实际上,原理跟n个for循环一样: 第1个for循环,从n个字符中锁定1...
Python3
递归
2022-03-07
0
293
题解 | #旋转数组的最小数字#
二分法(快排+剪枝) 由于只查找最小数字,每一趟快排后,只需对较小的左侧再次快排 快排结束后,第一个元素即为min # @param rotateArray int整型一维数组 # @return int整型 # class Solution: def minNumberInRotat...
Python3
二分查找
递归
快速选择
2022-03-07
0
277
首页
上一页
1
2
3
4
5
6
下一页
末页