题解 | #链表相加(二)#

链表相加(二)

https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */

class Solution {
public:
    /**
     * 
     * @param head1 ListNode类 
     * @param head2 ListNode类 
     * @return ListNode类
     */
    ListNode* reverseList(ListNode* head){//链表翻转
        auto L=new ListNode(0);
        ListNode* p=head,*q=nullptr;
        while(p){
            q=p->next;
            p->next=L->next;
            L->next=p;
            p=q;
        }
        return L->next;
    }

    ListNode* addInList(ListNode* head1, ListNode* head2) {
        // write code here
        ListNode *L1=reverseList(head1);
        ListNode *L2=reverseList(head2);

        ListNode *L3=L1;
        ListNode *pre=NULL;//断点的前驱
        int res=0;
        int jinwei=0;
        int yushu=0;

        while(L1&&L2){
            res=L1->val+L2->val+jinwei;
            jinwei=res/10;
            yushu=res%10;
            L1->val=yushu;
            pre=L1;
            L1=L1->next;
            L2=L2->next;
        }

        while(L1){//L2完成
            res=L1->val+jinwei;
            jinwei=res/10;
            yushu=res%10;
            L1->val=yushu;
            pre=L1;
            L1=L1->next;
        }

        if(L2){//L1完成
            pre->next=L2;
            while(L2){
                res=L2->val+jinwei;
                jinwei=res/10;
                yushu=res%10;
                L2->val=yushu;
                pre=L2;
                L2=L2->next;
            }
        }
        
        if(jinwei){//最后进位
            ListNode* s=new ListNode(1);
            pre->next=s;
        }

        return reverseList(L3);
    }
};

全部评论

相关推荐

吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务