前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >牛客网-反转链表

牛客网-反转链表

作者头像
手撕代码八百里
发布2020-07-28 17:34:19
2960
发布2020-07-28 17:34:19
举报
文章被收录于专栏:猿计划猿计划

题目描述

输入一个链表,反转链表后,输出新链表的表头。

解法1

代码语言:javascript
复制
/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        
        if(head == null || head.next==null){
            return head;
        }
        
        
        ListNode left=head;
        ListNode mid=left.next;
        ListNode right = mid.next;
        
        while(right!=null){
            mid.next = left;
                        
            left = mid;
            mid = right;
            right = right.next;
        }
        
        mid.next = left;
        head.next = null;
        head = mid;
        
        return head;
    }
}

解法2

代码语言:javascript
复制
/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head==null || head.next==null){
            return head;
        }
        
        ListNode newListNode=null;
        
        while(head!=null){
            
            //把源链表进行头插法到新的node中
            ListNode old_head = head;
            head = head.next;

            old_head.next = newListNode;
            newListNode = old_head;
        }
        
        return newListNode;
        
    }
}

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1969uaf40c6k3

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 解法1
  • 解法2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档