leetcode刷题-剑指offer-24题

leetcode刷题-剑指offer-24题

题目

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

解答

新手上路,才学疏浅,望斧正

  1. 采用头插法对链表逆序
  2. 依次从链表中读出一个节点
  3. 插入新节点的前面
class Solution {
    public ListNode reverseList(ListNode head) {
		
		//返回结果
        ListNode resList=null;
		
        ListNode p=head;

        while (p!=null){
			
            if(resList==null){
                //如果逆序链表为空
                resList=new ListNode(p.val);
                resList.next=null;
            }else {
               //否则在其前插入
                ListNode tmp=new ListNode(p.val);
                tmp.next=resList;
                resList=tmp;
            }
            p=p.next;
        }

        return resList;
    }
}
上一篇:Remove Duplicates from Unsorted List


下一篇:leetcode刷题 82.删除排序链表中的重复元素Ⅱ