题目要求:
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入:1->2->3->4->5->NULL
输出:5->4->3->2->1->NULL
-------------------------------------------------------
思路:首先创建一个空节点,然后将原链表的节点挨个取出,连到空节点与已连节点之间
class Solution {
public ListNode reverseList(ListNode head) {
//创建一个空节点,用来存放节点
ListNode sta = new ListNode(0);
//另存头指针
ListNode temp = head;
//存一下节点的指针
ListNode ne = null;
//将节点取出进行反转
while(temp != null){
ne = temp.next;
temp.next = sta.next;
sta.next = temp;
temp = ne;
}
head = sta.next;
return head;
}
}
执行用时:0 ms, 在所有 Java 提交中击败了100.00% 的用户
内存消耗:40.7 MB, 在所有 Java 提交中击败了85.25% 的用户