1、题意:
本题是对链表进行操作,实际是对链表的节点的操作。
2、思路:
直接暴力过,将本元素的next指向上一个元素(第一个元素指向null)。z用于储存y指针的下一跳(原链表),x存储原链表的上一跳,y用于遍历节点。
3、代码实现:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode x = null;
ListNode y = head;
ListNode z = null;
while (y != null) {
z = y.next;// 保存下一个节点
y.next = x;
x = y;
y = z;
}
return x;
}
}