Plus One Linked List -- LeetCode
Posted Coder and Writer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Plus One Linked List -- LeetCode相关的知识,希望对你有一定的参考价值。
Given a non-negative number represented as a singly linked list of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
Example:
Input:
1->2->3
Output:
1->2->4
思路:递归。
1 /**
2 * Definition for singly-linked list.
3 * struct ListNode {
4 * int val;
5 * ListNode *next;
6 * ListNode(int x) : val(x), next(NULL) {}
7 * };
8 */
9 class Solution {
10 public:
11 int help(ListNode* head) {
12 if (head->next == NULL) head->val++;
13 else head->val += help(head->next);
14 if (head->val < 10) return 0;
15 head->val = 0;
16 return 1;
17 }
18 ListNode* plusOne(ListNode* head) {
19 int credit = help(head);
20 if (!credit) return head;
21 ListNode *res = new ListNode(1);
22 res->next = head;
23 return res;
24 }
25 };
以上是关于Plus One Linked List -- LeetCode的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode: Plus One Linked List
Plus One Linked List -- LeetCode