题解 | #跳台阶#

两个链表生成相加链表

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

/**
 * struct ListNode {
 *    int val;
 *    struct ListNode *next;
 * };
 */

/**
 * 
 * @param head1 ListNode类 
 * @param head2 ListNode类 
 * @return ListNode类
 */

struct ListNode *reclist(struct ListNode *p)
{
    if( p==NULL || p->next==NULL)
    {
        return p;
    }
    struct ListNode *newcode=reclist(p->next);
    p->next->next=p;
    p->next=NULL;
    return newcode;
}
struct ListNode* addInList(struct ListNode* head1, struct ListNode* head2 ) {
    // write code here
    struct ListNode *a=reclist(head1);
    struct ListNode *b=reclist(head2);
    struct ListNode *s=NULL;
    struct ListNode *head=s;
    int jin=0;
    while(a!=NULL || b!=NULL || jin==1 )
    {
        struct ListNode *newnode=(struct ListNode *)malloc(sizeof(struct ListNode));
        int value1=(a==NULL)?0:a->val;
        int value2=(b==NULL)?0:b->val;
        newnode->val=value1+value2+jin;
        newnode->next=NULL;
        jin=0;
        if(newnode->val >=10){
            newnode->val=newnode->val-10;
            jin=1;
        }
        if(s==NULL)
        {
            s=newnode;
            head=s;
        }else
        {
            s->next=newnode;
            s=s->next;
        }
        a=(a==NULL)?NULL:a->next;
        b=(b==NULL)?NULL:b->next;
    }
    return reclist(head);

}
全部评论

相关推荐

点赞 评论 收藏
分享
最近和朋友聊天,她说了句让我震惊的话:"我发现我连周末点外卖都开始'最优解'了,一定要赶在高峰期前下单,不然就觉得自己亏了。"这不就是典型的"班味入侵"吗?工作思维已经渗透到生活的方方面面。
小型域名服务器:啊?我一直都这样啊?我还以为是我爱贪小便宜呢?每次去实验室都得接一杯免费的开水回去,出门都得规划一下最短路径,在宿舍就吃南边的食堂,在实验室就吃北边的食堂,快递只有顺路的时候才取。
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务