
算法
犬莱八荒
立志成为资深前端攻城狮的男人,努力努力再努力
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
删除链表倒数第N个节点python
题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。方法一计算链表长度L,然后从头开始对链表进行遍历,当遍历到L-n+1个节点时,找到所要删除的节点。代码如下:class Solution: def fun(self, head:ListNode, n): def getlength(head:ListNode): length = 0 while head:原创 2021-05-22 11:01:08 · 431 阅读 · 0 评论 -
整数反转python
一、题目描述给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。二、方法一字符串法,利用python的切片功能实现整数反转代码如下:def reveres(x): str_x = str(x) if x < 0: str_x = str_x[:0:-1] res = -int(str_x) else:原创 2021-05-19 14:10:06 · 713 阅读 · 0 评论 -
常见排序算法python实现
快速排序快速排序:采用分治法将序列分为子序列,递归地排序每个子序列,然后通过简单的串联方式合并这些已排序的子序列。算法步骤:在待排序的n个记录中任取一个记录(通常取第一个为记录)作为支点,关键字设为Key。经过一趟排序后,把所有关键字小于Key的记录交换到前面,把所有关键字大于Key的记录交换到后面,结果将排序记录分成两个子表,最后将支点放置在分界处的位置,直至每一个子表只有一个记录时,排序完成。具体操作:将待排序表中第一个元素作为支点。设置两个指针low和high,初始时分别指向表的下界和上原创 2021-05-17 12:45:17 · 113 阅读 · 0 评论 -
环形链表Python解决方法
环形链表Python解决方法一、题目描述二、方法一三、方法二四、复杂度分析一、题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 如果链表中存在环,则返回 true 。 否则,返回 false 。二、方法一我们使用快慢指针解决此问题PS:快慢指针是指两个指针一块一慢,用此制造出我们想要的差值,通过差值进而找到链表上相应的节点代码如下:def Cycle(head: ListNode): if not head and原创 2021-05-13 23:10:40 · 407 阅读 · 0 评论