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

两个链表生成相加链表

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
};
全部评论

相关推荐

兄弟们,实习都是在接各种api,该怎么包装简历
仁者伍敌:感觉我自己做小项目也是各种api啊,我要怎么包装简历
点赞 评论 收藏
分享
06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 10:39
一个证都没 我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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