- #include <bits/stdc++.h>
- Node* sumBetweenZeroes(Node* head)
- {
- int sum = 0;
- Node *curr = head -> next;
- while (curr->data)
- {
- sum = sum + curr->data;
- curr = curr -> next;
- }
- Node *result = new Node(sum);
- curr = curr -> next;
- Node *pointer = result;
- while (curr)
- {
- sum = 0;
- while (curr->data)
- {
- sum = sum + curr->data;
- curr = curr -> next;
- }
- pointer -> next = new Node(sum);
- pointer = pointer -> next;
- curr = curr -> next;
- }
- return result;
- }
이건 되는데
- #include <bits/stdc++.h>
- Node* sumBetweenZeroes(Node* head)
- {
- int sum = 0;
- Node *curr = head -> next;
- while (curr->data)
- {
- sum = sum + curr->data;
- curr = curr -> next;
- }
- Node *result = new Node(sum);
- curr = curr -> next;
- Node *pointer = result-> next;
- while (curr)
- {
- sum = 0;
- while (curr->data)
- {
- sum = sum + curr->data;
- curr = curr -> next;
- }
- pointer = new Node(sum);
- pointer = pointer -> next;
- curr = curr -> next;
- }
- return result;
- }
이건 안된다. Node *pointer를 result->next로 선언하고 pointer에다가 Node를 넣었음 아래꺼는. 둘 다 같은 코드로 보이는데 왜 아래꺼는 안되는걸까?
댓글 0