题解 | #两个链表生成相加链表#

两个链表生成相加链表

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

用栈的方法解决该问题 javascript版本

/*
 * function ListNode(x){
 *   this.val = x;
 *   this.next = null;
 * }
 */

/**
 * 
 * @param head1 ListNode类 
 * @param head2 ListNode类 
 * @return ListNode类
 */
function addInList( head1 ,  head2 ) {
    // write code here
    var stack1 = [];
    var stack2 = [];
    var p1 = head1;
    var p2 = head2;
    while(p1){
        stack1.push(p1.val);
        p1 = p1.next;
    }
    while(p2){
        stack2.push(p2.val);
        p2 = p2.next;
    }
    var res = null;
    var up = 0;
    while(stack1.length || stack2.length){
       var n1 = stack1.length === 0 ? 0 : stack1.pop();
       var n2 = stack2.length === 0 ? 0 : stack2.pop();
       var currSum = n1 + n2 + up;
       var tmp = new ListNode(currSum%10);
        tmp.next = res;
        res = tmp;
        up = Math.floor(currSum/10);
    }
    if(up){
        var tmp = new ListNode(up);
        tmp.next = res;
        res = tmp;
    }
    return res;

}
module.exports = {
    addInList : addInList
};
全部评论

相关推荐

像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务