阅读背景:

关于leetcode链表添加程序说明

来源:互联网 
 
 

/**

 * Definition for singly-linked list. * struct ListNode { *     int val; *     struct ListNode *next; * }; */ typedef struct ListNodep {     int val;     struct ListNodep *next; }ListNode;  ListNode* addTwoNumbers(ListNode* I1, ListNode* I2) {    ListNode *rootp = NULL;    ListNode *listp = NULL;    int value = 0;    int varin = 0;        if(I1 == NULL && I2 == NULL) return rootp;        listp = (ListNode *)malloc(sizeof(ListNode));    rootp = listp;    listp->val = 0;    listp->next = NULL;        while(I1 != NULL || I2 != NULL || varin!= 0){                if(I1 == NULL && I2 != NULL)  value = I2->val + varin;                if(I1 != NULL && I2 == NULL)  value = I1->val + varin;                if(I2 != NULL && I1 != NULL)  value = I1->val + I2->val + varin;                if(I1 == NULL && I2 == NULL)  value = varin;                        varin = 0;                if(value >= 10){            varin = value /10;            value = value %10;        }        //此处需要注意,此处需要注意当当前链表已经为NULL后,他指向的空链表        //不能够在往下操作了,需要直接在给当前指针为空链表        if(I1 == NULL) I1 = NULL;        else I1 = I1->next;                if(I2 == NULL) I2 = NULL;        else I2 = I2->next;                        listp->val = value;                if(I1 != NULL || I2 != NULL || varin != 0){            listp->next = (ListNode *)malloc(sizeof(ListNode));            listp = listp->next;}        else        {            listp->next = NULL;        }    }        return rootp;} * Definition for singly-linked list. 



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: