您的位置:首页 > 其它

Leetcode:2. Add Two Numbers

2016-04-04 00:53 351 查看
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.

For example,

Given n =
3
,

You should return the following matrix:

[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]


基本没什么坑,注意进位和一些特殊情况就好了

AC
20MS


/**
* Definition for singly-linked list.
*/

typedef struct ListNode Node;
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {
struct ListNode* p1 = l1;
struct ListNode* p2 = l2;
struct ListNode* ptemp =NULL;
struct ListNode* ptail =NULL;
struct ListNode* phead = NULL;//(struct ListNode*)malloc(sizeof(ListNode));
int base,s;
int prevoius_s =0;
while(p1 !=NULL || p2 !=NULL||prevoius_s)
{
ptemp = (struct ListNode*)malloc(sizeof(Node));
if(phead == NULL)
{
phead = ptemp;
}
base = 0;
s = 0;
if(p1 !=NULL)
{
base += p1->val;
p1 = p1->next;
}
if(p2!=NULL)
{
base += p2->val;
p2 = p2->next;
}
base += prevoius_s;
if(base > 9)
{
base = base%10;
prevoius_s =1;
}
else
{
prevoius_s = 0;
}
ptemp->val = base;
ptemp->next = NULL;
if(ptail == NULL)
{
ptail = ptemp;
}
else{

ptail->next = ptemp;
ptail = ptemp;
}
}
return phead;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: