206.Reverse Linked List(Easy)

Reverse a singly linked list.
倒序输出一个单链表

My Solution

(Java) Version 1 Time: 0ms:

  这个本来应该是没有难度的,不过倒是Java自己给我挖了一个坑,Java使用的引用其实就是指针,如果类没有clone方法的话,那么就不能像C语言一样直接用一个变量把某个引用的值保存下来,就只能用一个新的值分别储存其中要使用的值,这确实是一个大坑,Java号称没有指针,其实就是强制全部都用指针的意思吧

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode reverseList(ListNode head) {
        if (head == null) {
            return null;
        }else if(head.next == null){
            return head;
        }
        ListNode temp = head, next = head.next, newhead;//必须要用一个next变量把下一个结点的引用保存下来
        temp.next = null;
        newhead = temp;
        head = next;
        do {
            temp = head;
            next = head.next;
            temp.next = newhead;
            newhead = temp;
            head = next;
        } while (head != null);
        return newhead;
    }
}

(Java) Version 2 Time: 0ms (By arjun033 ):

  其实也是一样的方式,不过思路更加清晰,用的方式也比较简单,方便阅读理解

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode reverseList(ListNode head) {
        if(head==null||head.next==null) return head;
        ListNode prev, curr, next;
        prev = null;
        curr = head;
        next = null;
        
        while(curr!=null){
            next=curr.next;
            curr.next=prev;
            prev=curr;
            curr=next;
        }
        return prev;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,860评论 0 33
  • Single Linked List 相比较另一个基本的数据结构array,linked list有几个优势:尺寸...
    dol_re_mi阅读 8,281评论 0 3
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,625评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,348评论 19 139
  • 卷首语:现在不玩命,命运就会玩你比你差的人还没有放弃,比你强的人还在努力,你有什么资格说:“我无能为力”?混就混出...
    俞春霞阅读 599评论 0 5

友情链接更多精彩内容