2018-01-25 两个链表相加

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

You may assume the two numbers do not contain any leading zero, except the number 0 itself.

Example
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        ListNode* p1 = l1;
        ListNode* p2 = l2;
        ListNode* result = new ListNode(0);
        ListNode* n1 = result;
        int val = 0;
        int val1 = 0;
        int val2 = 0;
        int index = 0;

        while(p1!= NULL || p2 !=NULL)
        {
            if(p1 != NULL){
                val1 = p1->val;
            }
            if(p2 != NULL){
                val2 = p2->val;
            }
            val = val1 + val2;
            val += index;
            if(val / 10 >= 1){
                index = 1;
            } else{
                index = 0;
            }

            n1->next = new ListNode(val%10);
            n1 = n1->next;
            if(p1 != NULL){
                p1 = p1->next;
            }
            if(p2 != NULL){
                p2 = p2->next;
            }
            val1 = 0;
            val2 = 0;
        }
        if(index != 0){
            n1->next = new ListNode(1);
        }
        ListNode* res = result->next;
        free(result);
        return res;
    }
};

思路:
分别相加每一位,有进位,val 加1

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,998评论 0 23
  • 小朋友从3点醒了到现在5点都还没有睡,奶奶接班看能不能哄睡成功。忽然天气变凉爽,小朋友感冒了,微微有点发烧...
    我想要一片麦地啊阅读 172评论 0 0
  • 营销界有句名言:一流销售员创造需求,二流销售员满足需求,三流销售员送货收款。 升级训练 所谓创造需求,从观念上...
    江湖人称贾老师阅读 1,060评论 0 48
  • 多想把日子过得风轻云淡,不必为谁伤心,也不必为谁烦恼,忙碌的时候从不需要考虑什么,只管认真地工作,闲下来的时候,到...
    钝角阅读 531评论 0 42