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

链表相加(二)

http://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 reverse(ListNode* head) { ListNode* pre = nullptr; ListNode* tmp = head ->next ; while(head) { head ->next = pre ; pre = head ; head = tmp ; tmp = head ->next ; } return pre ; } ListNode* addInList(ListNode* head1, ListNode* head2) { // write code here ListNode* h1 = reverse(head1), h2 = reverse(head2) ; / cout<val<<endl<val;/ int pro = 0; ListNode ww = new ListNode(0); ListNode* w = ww ; while(h1 && h2) { ListNode* nw = new ListNode(0); nw->val = (h1->val + h2 ->val + pro )%10; pro = (h1->val + h2 ->val + pro)/10; w ->next = nw ; w = w ->next; h1 = h1 -> next ; h2 = h2 ->next ; } while(h1) { ListNode* nw = new ListNode(0); nw->val = ((h1->val ) + pro)%10 ; pro = (h1->val + pro)/10; w ->next = nw; w = w->next; h1 = h1 ->next ; cout<<"123"<<endl<<ww;

    }
    while(h2)
    {
        ListNode* nw = new ListNode(0);
        nw->val = ((h2->val ) + pro)%10 ;
        pro = (h2->val  + pro)/10;
        w ->next = nw;
        w = w->next;
        h2 = h2 ->next ;
    }
    if(pro == 1)
    {
        ListNode* nw = new ListNode(1);
        w ->next = nw;
        w = w->next;
    }
    ListNode *www = ww->next;
    return reverse(www) ;
}

};

全部评论

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-05 04:14
已编辑
真烦好烦真烦:看着感觉好强啊,这都过不了吗
投递字节跳动等公司7个岗位 面试中的破防瞬间
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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