题解 | #反转链表#
反转链表
http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
反转链表:
- 遍历法:
思路:从前往后依次遍历链表里面的所有结点,关键在于使用临时变量保存当前结点(node)的pre指针和next指针,然后改变pre指针和next指针。Node pre = null; Node nextNode = null; public Node reverse(Node node){ while(node != null){ // 记录当前结点的next指针 nextNode = node.next; // 改变指针方向 node.next = pre; // 移动pre指针 pre = node; // 移动当前结点指针 node = nextNode; } // 注意此时pre为链表头 return pre; }
```