今天开始刷LeedCode了.
发现智商不够用了.有些解题方法是Goole来的...
答题语言都是c语言,顺便也是巩固了一下数据结构
原题链接:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {
struct ListNode *ret = (struct ListNode *)malloc(sizeof(struct ListNode)), *ltemp, *t;
int cr = 0, var;
ltemp = ret;
while(l1 || l2){
var = ( l1 ? l1->val : 0)+(l2 ? l2->val : 0)+cr;
cr = var/10;
var = var%10;
ltemp->next = (struct ListNode *)malloc(sizeof(struct ListNode));
ltemp->next->val = var; ltemp = ltemp->next;
if(l1)
l1 = l1->next;
if(l2)
l2 = l2->next;
}
if(cr == 1){
ltemp->next = (struct ListNode *)malloc(sizeof(struct ListNode));
ltemp->next->val = cr; ltemp = ltemp->next;
}
ltemp->next = NULL;
t = ret; ret = ret->next; free(t);
return ret;
}
LeetCode链表题目实战
本文分享了一道LeetCode上的链表题目解答过程,通过C语言实现两个数相加的功能,同时回顾了数据结构相关知识。
501

被折叠的 条评论
为什么被折叠?



