new ListNode()中参数的问题
ListNode *res = new ListNode(-1);中填充-1、0、1分别是什么含义啊 一般来说是value的意思,不过你这前不着村,后不着店的,没完整代码谁知道啊 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:19 编辑
前面的注释不是有解释么,你new的时候就赋值了
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/ Croper 发表于 2019-1-15 15:17
前面的注释不是有解释么,你new的时候就赋值了
谢谢~
页:
[1]