# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
pre = ListNode()
pre.next = head
p = head
pre.next = None
while p:
r = p.next
p.next = pre.next
pre.next = p
p = r
return pre.next
错误原因一:定义一个空的结点 pre = ListNode() //知道如何定义
56.数组合并区间
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
intervals.sort(key=lambda x:x[0])
ans = []
for interval in intervals:
if not ans:
ans.append(interval)
else:
lastEnd = ans[-1][1]#取intervals中的最后一个列表的末尾界限
start , end = interval#只有当interval列表中有两个值时,赋值才正确,当列表中有三个值时,赋值为 start ,middle, end = interval
if lastEnd >=start:#相交
ans[-1][1] = max(end,lastEnd)
else:#不相交直接添加在尾部
ans.append(interval)
return ans