题目描述:
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
题解:
我这里用的迭代法
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
if(head==null || head.next==null)
return head;
else{
ListNode newHead=null; //初始化新头结点为null
ListNode cur;
while(head!=null){
cur=head; //取出头结点
head=head.next; //头结点往后移一个结点
cur.next=newHead; //指向新的头结点
newHead=cur; //更新头结点
}
return newHead;
}
}
}