code #!/usr/bin/python # -*- coding: utf- -*- class ListNode: def __init__(self,x): self.val=x self.next=None def recurse(head,newhead): #递归,head为原链表的头结点,newhead为反转后链表的头结点 if head is None: return if head.next is None: newhead=head else : newhead=recu…
题目 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 解答 一轮指针变换,时间复杂度O(n),空间复杂度O(1) 首先,在链表头部新建两个空节点thead.p2,令p.p3指向thead,c指向head,所有指针往后移动m个位置,p3始终和p相差n-m个位置(记录…