Jeloys 发表于 2019-1-14 21:57:53

new ListNode()中参数的问题

ListNode *res = new ListNode(-1);中填充-1、0、1分别是什么含义啊

Croper 发表于 2019-1-14 22:19:13

一般来说是value的意思,不过你这前不着村,后不着店的,没完整代码谁知道啊

Jeloys 发表于 2019-1-15 09:36:38

Croper 发表于 2019-1-14 22:19
一般来说是value的意思,不过你这前不着村,后不着店的,没完整代码谁知道啊

class Solution {
public:
    ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
      ListNode *head = new ListNode(-1);
      ListNode *cur = head;
      int carry = 0;
      while (l1 != NULL || l2 != NULL) {
            int n1 = l1 ? l1->val : 0;    //如果l1 != NULL则n1 = l1->val,否则n1 = 0
            int n2 = l2 ? l2->val : 0;    //如果l2 != NULL则n2 = l2->val,否则n2 = 0
            int sum = n1 + n2 + carry;
            carry = sum / 10;
            cur->next = new ListNode(sum % 10);
            cur = cur->next;
            if (l1) l1 = l1->next;
            if (l2) l2 = l2->next;
      }
      if (carry) cur->next = new ListNode(1);
      return head->next;
    }
};

不好意思,这个是完整代码,是LeetCode上的一道题,这边我填-1或者0都可以测试成功,所以我想知道这边的数字具体含义是什么

Croper 发表于 2019-1-15 15:17:37

本帖最后由 Croper 于 2019-1-15 15:19 编辑

前面的注释不是有解释么,你new的时候就赋值了
/**
* Definition for singly-linked list.
* struct ListNode {
*   int val;
*   ListNode *next;
*   ListNode(int x) : val(x), next(NULL) {}
* };
*/

Jeloys 发表于 2019-1-15 16:01:57

Croper 发表于 2019-1-15 15:17
前面的注释不是有解释么,你new的时候就赋值了

谢谢~
页: [1]
查看完整版本: new ListNode()中参数的问题