定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
- 双指针调换方向即可
- 需要一个临时指针存储下一个地址,画图
- 注意:头结点变尾节点了,最开始的head.next需赋值为null.
class Solution {
public ListNode reverseList(ListNode head) {
if(head == null)
return head;
ListNode p = head.next;
head.next = null;
while(p!=null){
ListNode temp = p.next;
p.next = head;
head = p;
p = temp;
}
return head;
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)