好几天没有再写代码了,基本上都是在去忙其他的事情,说句实话应该是有些偷懒和懈怠了,另外更重要的问题是我自己能够刷的简单题已经刷完了,所以的话,再去做题的时候花费的时间肯定是更多的,其实想想自己每次到了瓶颈期的状态都是很类似的,没有耐心去做太难的事情,耗费时间的事情,但是这个其实是一个很大的问题,慢慢来吧,今天的这道题也算是一道简单题了,比较简单的那种,只能说自己还是太弱了吧,最近也需要再去背单词了,我发现努力总是能看到结果的,为了考研背的单词,因为自己不够努力,所以没有很好的效果,但是这些单词在其他却派上用场了,越努力越幸运的意义在于,当刚好用的到的时候,我刚好有,不知道为什么要在技术博客的地方写这么多的废话,这个应该是我作为一个技术渣渣的一点心里话吧,最后呢,但行好事,莫问前程,珍惜羽毛,与人为善,多去看看别人的难处,也多多体谅自己的不易,作为一个普通人,能做的就是过好普通人的每一天吧,这几天是很不开心的几天,因为有些事情,可能是这辈子都觉得很缺撼的事情了,但是谁能事事如意呢,不如意事常***,能与言者无二三,如果有一两件事情足够幸运,那就已经是很值得开心的事情了,所有的事情都是最好的结果,遇到很难过的时候,一定要悄悄的,看起来开开心心的,这样的话,不开心的事情慢慢就会离你远远的啦,到了低处,不能放任自己去更低处,也是对自己的一种负责吧。
很多时候阴差阳错的就是会给你一个好结果,所以不管是什么事情,到了这个地方,就要接着受着,等着。也是真的很神奇的地方,因为有事情耽误,所以导致后面遇到了更好的选择,大概是冥冥之中注定的吧。谁能知道现在的选择是不是最好的呢,谁都不知道,所以,拿着手好牌的时候,记得珍惜,牌不好的时候,就想办法打好,总不能跟个小孩子一样,牌一扔,哭哭啼啼的就什么也不做了吧。
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

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

链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-medium/xvw73v/

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        int x=0,tmp=0;
        ListNode* l=nullptr,*r=nullptr,*p=nullptr;
        while(l1!=nullptr&&l2!=nullptr){
            tmp=l1->val+l2->val+x;
            x=tmp/10;
            tmp=tmp%10;
            p=new ListNode(tmp);
            if(l==nullptr){
                l=p;
                r=l;
            }else{
                r->next=p;
                r=r->next;
            }
            l1=l1->next;
            l2=l2->next;
        }
        while(l1!=nullptr){
            tmp=l1->val+x;
            x=tmp/10;
            tmp=tmp%10;
            p=new ListNode(tmp);
            if(l==nullptr){
                l=p;
                r=l;
            }else{
                r->next=p;
                r=r->next;
            }
            l1=l1->next;
        }
        while(l2!=nullptr){
            tmp=l2->val+x;
            x=tmp/10;
            tmp=tmp%10;
            p=new ListNode(tmp);
            if(l==nullptr){
                l=p;
                r=l;
            }else{
                r->next=p;
                r=r->next;
            }
            l2=l2->next;
        }
        if(x==1){
            p=new ListNode(x);
            r->next=p;
            r=r->next;
        }
        return l;
    }
};