javascript - Leetcode 206 链表反转 java解法求解释
PHP中文网
PHP中文网 2017-04-11 09:16:38
[JavaScript讨论组]

Leetcode 206 反转链表的一道题,java做的,java萌新看懵逼了,求解释!

public ListNode reverseList(ListNode head) {}

1.这一行代码是什么意思?在solution类里调用listnode类并且新写了reverselist方法?

2.注释里的ListNode类中 next是什么类型的变量?
3.ListNode(int){val = x}在java里叫什么?静态方法么?作用是什么?
4.reverselist里的prev cur是什么类型变量?为什么不用声明呢?什么样的变量可以调用listnode类中的next呢?

问题有些小白,求大家解答!谢谢啦!

源代码如下:

  /**
     * 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) {
            ListNode prev = null;
            ListNode cur = head;
            while(cur!=null){
                ListNode next = cur.next; 
                cur.next = prev;
                prev = cur;
                cur = next;
            }
            return prev;
        }
    }
PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
伊谢尔伦

1、这行代码是让你在方法里添加实现,reverselist是Solution类的方法,和ListNode类无关。
2、next是ListNode类型,是当前节点的下一个节点引用。
3、这一句是构造方法,构造一个ListNode对象。静态方法是static方法,是类方法,不用实例化就可以调用。
4、prev、cur都是ListNode类型。前面不是已经声明了吗?ListNode的next方法肯定是ListNode的实例可以调用啦。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号