zoukankan      html  css  js  c++  java
  • 【Leetcode】两数相加

    题目链接:两数相加


    题意:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

    如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

    您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

    题解:每次加两个链表当前节点的值,有进位就标记一下,下次加就进位。(这个题比较好的是只进1位)

    最开始写了一个十分冗余的代码。。遍历至其中一个为空就跳出来。然后找不空的链表继续做处理。

    后面做了一个优化,在循环里去判断链表是不是为空。处理到当前链表是空的,值更新为0,这个链表就不往下走了。

    还有一个地方要注意,最后链表全部加完后要判断是不是还有进位,还有进位的话要处理的。

    代码:

     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     ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
    12         ListNode *ans = new ListNode(0);
    13         ListNode *res = ans;
    14 
    15         int carry = 0;  //进位
    16         int num = 0,num1 = 0,num2 = 0;
    17         
    18         while(l1 || l2 || carry){
    19             if(l1){
    20                 num1 = l1->val;
    21                 l1 = l1->next;
    22             }
    23             else    num1 = 0;
    24             
    25             if(l2){
    26                 num2 = l2->val;
    27                 l2 = l2->next;
    28             }
    29             else    num2 = 0;
    30             
    31             num = num1 + num2 + carry;
    32             if(num >= 10){
    33                 num -= 10;
    34                 carry = 1;
    35             }
    36             else    carry = 0;
    37 
    38             res->next = new ListNode(num);
    39             res = res->next;
    40         }
    41         
    42         return ans->next;
    43         
    44     }
    45 };
  • 相关阅读:
    cocos2dx 3.0 飞机大战
    cocos2dx 3.0 触摸机制
    cocos2d-x 3.0 rc0 + flappybird 学习心得
    cocos2dx 3.0 +VS2012 环境搭建
    cocos2dx 内存管理(3)---CCPoolManager浅析
    cocos2dx 内存管理机制(2)
    Cocos2dx 入门小游戏实例
    myBaits入门
    Java8:函数式编程、Stream
    Java基础巩固
  • 原文地址:https://www.cnblogs.com/Asumi/p/12513750.html
Copyright © 2011-2022 走看看