摘要: class Solution: def isPalindrome(self, head: ListNode) -> bool: vals = [] current_node = head while current_node is not None: vals.append(current_node 阅读全文
posted @ 2021-09-12 20:19 秋华 阅读(38) 评论(0) 推荐(0)
摘要: class Solution: def reverseList(self, head: ListNode) -> ListNode: #空链表 if not head: return None #1节点链表 elif not head.next: return head #多节点链表 else: p 阅读全文
posted @ 2021-09-12 20:15 秋华 阅读(42) 评论(0) 推荐(0)
摘要: # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def 阅读全文
posted @ 2021-09-12 20:09 秋华 阅读(52) 评论(0) 推荐(0)
摘要: class Solution: def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode: a, b = headA, headB while a != b: if a: a = a.next else: 阅读全文
posted @ 2021-09-12 20:06 秋华 阅读(119) 评论(0) 推荐(0)
摘要: class Solution: # 归并排序 def sortList(self, head: ListNode) -> ListNode: if not head or not head.next: return head left_end = self.find_mid(head) mid = 阅读全文
posted @ 2021-09-12 20:02 秋华 阅读(59) 评论(0) 推荐(0)
摘要: 解题思路思路的话就是打牌呗,看到后面比前面大的,在前面一个一个找,找到了就记录下一张牌,然后当前牌放到前面去,前面的pre放到后面去,结束这一次循环。提前用dummy记录,然后利用pre对dummy第一层的操作可以让dummy一直指向最前面的牌 class Solution: def inserti 阅读全文
posted @ 2021-09-12 19:59 秋华 阅读(59) 评论(0) 推荐(0)
摘要: 1.调库太难了,一些用法比较生僻。不如手写 2.可能面试时候,就是想让手写 3.小建议:(1)head 和 tail是dummy结点。一定要用,不然光check边界就会疯掉(2)类中的函数不是固定的。根据自己的习惯和设计,需要什么功能就写什么功能(3)双向链表中的尽量‘干净’、‘简洁’。本来就是很容 阅读全文
posted @ 2021-09-12 19:58 秋华 阅读(65) 评论(0) 推荐(0)
摘要: 解题思路 1、快慢指针找中点,等分成左右两个部分2、右半部分逆序3、左右两个部分逐个拼接 class Solution: def reorderList(self, head: ListNode) -> None: """ Do not return anything, modify head in 阅读全文
posted @ 2021-09-12 19:55 秋华 阅读(120) 评论(0) 推荐(0)
摘要: class Solution(object): def detectCycle(self, head): fast, slow = head, head while True: if not (fast and fast.next): return fast, slow = fast.next.ne 阅读全文
posted @ 2021-09-12 19:21 秋华 阅读(34) 评论(0) 推荐(0)
摘要: 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅 阅读全文
posted @ 2021-09-12 19:10 秋华 阅读(41) 评论(0) 推荐(0)
摘要: 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中 阅读全文
posted @ 2021-09-12 19:06 秋华 阅读(80) 评论(0) 推荐(0)
摘要: 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 # Definition for a binary tree no 阅读全文
posted @ 2021-09-12 18:55 秋华 阅读(56) 评论(0) 推荐(0)
摘要: 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 其实蛮简单的,就是找链表中间节点作为根节点,然后再找中点两边的子链表的中点,一直递归下去直到子链表为空 特例处理:如果head 阅读全文
posted @ 2021-09-12 18:49 秋华 阅读(65) 评论(0) 推荐(0)
摘要: 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 根据上面的图示,这里说下其中涉及的参数,以及其中反转过程中的步骤: 其中涉及的参数: dummy_node:哑节 阅读全文
posted @ 2021-09-12 18:37 秋华 阅读(97) 评论(0) 推荐(0)
摘要: 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 这道题最简单的解题方式,就是我们创建两个小链表和大链表。然后循环head,当head.val小于x时,追加到小链 阅读全文
posted @ 2021-09-12 18:31 秋华 阅读(53) 评论(0) 推荐(0)
摘要: 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表。 思路 标签:链表 指定 cur 指针指向头部 head 当 cur 和 cur.next 的存在为循环结束条件,当二者有一个不存在时说明链表没有去重复的必要 阅读全文
posted @ 2021-09-12 18:20 秋华 阅读(57) 评论(0) 推荐(0)
摘要: 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。 返回同样按升序排列的结果链表。 提示: 链表中节点数目在范围 [0, 300] 内 -100 <= Node.val <= 100 题目数据保证链表已经按升 阅读全文
posted @ 2021-09-12 18:16 秋华 阅读(48) 评论(0) 推荐(0)
摘要: 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 翻译题目 : 就是把原来的链表尾部连上头,然后找倒数第k个点作为新的表头但值得注意的是,当k超过链表长度的时候就相当于链表重置了,所以需要k对节点长度取余 class Solution: def rotateRight 阅读全文
posted @ 2021-09-12 18:12 秋华 阅读(138) 评论(0) 推荐(0)
摘要: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2: 输入:head = []输出:[]示例 3: 输入:head = [1]输出:[1] 提示: 链表中节 阅读全文
posted @ 2021-09-12 18:08 秋华 阅读(93) 评论(0) 推荐(0)
摘要: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2: 输入:l1 = [], l2 = []输出:[]示例 3: 输入:l1 = [], l2 = [0] 阅读全文
posted @ 2021-09-12 18:03 秋华 阅读(76) 评论(0) 推荐(0)