讨论/题目交流/链表问题/
链表问题

LeetCode中给出的
/**

  • Definition for singly-linked list.
  • struct ListNode {
  • int val;
    
  • ListNode *next;
    
  • ListNode(int x) : val(x), next(NULL) {}
    
  • };
    */
    其中 ListNode(int x) : val(x), next(NULL) {}是什么意思?

ListNode pre = new ListNode(0);这样的语句是什么意思?

还有在使用的时候链表时用不用分配空间呢?

class Solution {
public:
ListNode swapPairs(ListNode head) {
ListNode pre = new ListNode(0);
pre.next = head;
ListNode temp = pre;
while(temp.next != null && temp.next.next != null) {
ListNode start = temp.next;
ListNode end = temp.next.next;
temp.next = end;
start.next = end.next;
end.next = start;
temp = start;
}
return pre.next;
}
};
这是题解,为什么 ListNode pre = new ListNode(0);这一句显示Line 12: Char 18: fatal error: no viable conversion from 'ListNode *' to 'ListNode' ,会有编译错误呢?
ListNode pre;这句的意思是一个命名为pre的节点吗?
ListNode *pre;这句的意思是一个命名为pre的链表吗? 这两者有什么区别,用不用分配空间啊?
对于LeetCode中的链表完全不懂,麻烦大佬指点一下

展开讨论
小白一枚发起于 2020-05-07
共 1 个讨论

0基础不要刷题。。你好歹把数据结构过一遍吧,现阶段做题就是空中楼阁。。

2