Leetcode OJ:Add Two Numbers

来源:互联网 发布:2017java面试题 编辑:程序博客网 时间:2024/06/01 12:11
/** * Definition for singly-linked list. * struct ListNode { *     int val; *     struct ListNode *next; * }; */struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {    struct ListNode *head,*tmp;    struct ListNode *cur=(struct Node*)malloc(sizeof(struct ListNode));    cur->next=NULL;    head=NULL;    int n=0;    int buff=0;    while(l1||l2)        {        tmp=(struct Node*)malloc(sizeof(struct ListNode));        tmp->next=NULL;        if(l1&&!l2)        {            tmp->val=(l1->val+buff)%10;            buff=(l1->val+buff)/10;            if(n==0)            {               head=tmp;               n++;            }            else            {                cur->next=tmp;            }            cur=tmp;            l1=l1->next;        }        else if(!l1&&l2)        {            tmp->val=(l2->val+buff)%10;            buff=(l2->val+buff)/10;            if(n==0)            {               head=tmp;               n++;            }            else            {                cur->next=tmp;            }            cur=tmp;            l2=l2->next;        }        else        {            tmp->val=(l1->val+l2->val+buff)%10;            buff=(l1->val+l2->val+buff)/10;            if(n==0)            {               head=tmp;               n++;            }            else            {                cur->next=tmp;            }            cur=tmp;            l1=l1->next;            l2=l2->next;        }    }  if(buff!=0)  {      cur->next=(struct ListNode*)malloc(sizeof(struct ListNode));      cur->next->val=buff;      cur->next->next=NULL;  }  return head;}

Note:
struct ListNode cur=(struct Node)malloc(sizeof(struct ListNode));
cur->next=NULL;

//member access within misaligned address 0x000000000031 for type ‘struct ListNode’, which requires 8 byte alignment

0 0