链表实现两数相加

add-two-numbers

http://www.nowcoder.com/questionTerminal/56f8d422eae04f129c8e5a05299ae275

简单的进位和链表构造,只需要一个循环即可。

class Solution {
public:
    /**
     *
     * @param l1 ListNode类
     * @param l2 ListNode类
     * @return ListNode类
     */
    ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
        // write code here
        int value = 0;
        ListNode dummyHead(0);
        ListNode *p = &dummyHead;
        while (l1 || l2 || value != 0) {
            if (l1) value += l1->val, l1 = l1->next;
            if (l2) value += l2->val, l2 = l2->next;
            p = p->next = new ListNode(value % 10);
            value /= 10;
        }
        return dummyHead.next;
    }
};
刷遍天下无敌手 文章被收录于专栏

秋招刷题历程

全部评论

相关推荐

10-29 22:30
吉林大学 Java
同专业学长学姐,去互联网大厂的起薪 15k+,去国企 IT 岗的也有 12k+,就连去中小厂的都基本 13k 起步😤 我投的传统行业技术岗,拼死拼活拿到 1Woffer,本来还挺开心,结果逛了圈牛客直接破防,同是校招生,行业差距怎么就这么大啊!
喵喵喵6_6:应该哪里不对吧,大厂都是20k以上的,10k那种对于985本的学生基本就是点击一下过了笔试就送的,我前两天刚拿了一个11k,笔试完第2天就打电话了,非科班。坏消息是c++岗开这么低真是刷新认知了
校招生月薪1W算什么水平
点赞 评论 收藏
分享
浩浩没烦恼:一二面加起来才一个小时? 我一面就一个小时多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务