随笔分类 - leetcode
摘要:思想: 解题思路 生成两个指针,分别串连奇数节点和偶数节点,在此之前先留下将要生成的奇偶链表的定位指针(不移动),当两个链表生成时,通过定位指针串连就得到奇偶链表。 code:
阅读全文
摘要:思想: 如果涉及到对头节点操作,一般需要添加一个哨兵节点 dummynode
阅读全文
摘要:思想: 双指针 思路与算法 这里面需要对删除第一个节点单独处理,为了避免这样的问题,我们可以添加一个dummy节点指向头节点 这样就不需要对第一个节点处理: 注意如果append(cur)改为append(cur.val)出现下面错误
阅读全文
摘要:# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def getIntersectionN
阅读全文
摘要:双指针: # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def detectCycle
阅读全文
摘要:# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def hasCycle(self, h
阅读全文
摘要:def prefix_table(pattern, prefix, n): # prefix = [0]*n i = 1 length = 0 # 代表公共前后缀的长度 while i < n: if pattern[i] == pattern[length]: length += 1 prefix
阅读全文
摘要:实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 说明: 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问
阅读全文
摘要:给你一个字符串 s ,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。 说明: 输入字符串 s 可以在前面、后面或者单词间包含多余的空格。翻转后单词间应当仅用一个空格分隔
阅读全文
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"]输出:"fl"示例 2: 输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀
阅读全文
摘要:合并区间以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 示例 1: 输入:intervals = [[1,3],[2,6],[8,1
阅读全文
摘要:搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5输出: 2示例 2: 输入: nums
阅读全文