c语言sscanf函数的用法是什么
238
2022-11-29
[leetcode] 92. Reverse Linked List II
Description
Reverse a linked list from position m to n. Do it in one-pass.
Note: 1 ≤ m ≤ n ≤ length of list.
Example:
Input: 1->2->3->4->5->NULL, m = 2, n = 4Output: 1->4->3->2->5->NULL
分析
题目的意思是:链表内指定区间反转,需要用到两个指针:
pre指针为第m个节点的前一个节点,p指针为第m个节点然后就开始反转从第m个节点开始的n-m个节点反转完了之后返回head就行了
代码
# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def reverseBetween(self, head: ListNode, m: int, n: int) -> ListNode: pre=ListNode(None) p=head pre.next=p for i in range(m-1): pre=pre.next p=p.next for i in range(n-m): t=p.next p.next=t.next t.next=pre.next pre.next=t if(m==1): return pre.next return head
参考文献
[LeetCode] Distribute Candies 分糖果
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~