Leetcode 206 链表反转 java解法求解释

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;
        }
    }
阅读 3k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题