反转链表-python-双指针
·
题目:

思路:
一个指针指向当前的节点,一个指针指向当前的前一个节点,借助辅助节点,对链表进行反转
初始化curr指向head
初始化pre指向None
当curr不为空,nextItem指向curr的下一个节点,curr的next指向pre
移位:pre移到curr,curr移动到nextItem
注意:最后返回的是pre,而不是curr
代码:
# 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]:
if not head:
return None
pre = None
curr = head
while curr:
nextItem = curr.next
curr.next = pre
pre = curr
curr = nextItem
return pre
更多推荐
所有评论(0)