题目描述
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
1 | 输入: 1->2->3->4->5->NULL |
题解
双指针
使用双指针的方法, 过程见图:
1 | public ListNode reverseList(ListNode head) { |
代码要点在于, 每遍历到一个节点, 一定要记录下pre
的下一个节点, 因为一旦反转之后, 就无法直接通过.next
继续遍历
递归
1 | public ListNode reverseList(ListNode head) { |