Welcome to 发呆鱼.|

发呆鱼

园龄:3年4个月粉丝:1关注:0

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;
    }
}

本文作者:发呆鱼

本文链接:https://www.cnblogs.com/dyiblog/p/15778613.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   发呆鱼  阅读(18)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起