【LeetCode OJ 002】Add Two Numbers
来源:互联网 发布:kmspico有病毒 知乎 编辑:程序博客网 时间:2024/06/05 07:58
题目:You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {int flag = 0;ListNode * p,*r;ListNode * h = (struct ListNode *)malloc(sizeof(ListNode *));h->next = NULL;r = h;int num;if (l1 == NULL) return l1;if (l2 == NULL) return l2;while (l1&&l2){num = l1->val + l2->val + flag;if (num<10){p = (struct ListNode *)malloc(sizeof(ListNode *));p->val = num;r->next = p;r = p;flag = 0;}else //如果两位数相加大于10,则向前进一位{p = (struct ListNode *)malloc(sizeof(ListNode *));p->val = num-10;r->next = p;r = p;flag = 1;}l1 = l1->next;l2 = l2->next;}while (l1) {num = l1->val + flag;if (num<10){p = (struct ListNode *)malloc(sizeof(ListNode *));p->val = num;r->next = p;r = p;flag = 0;}else{p = (struct ListNode *)malloc(sizeof(ListNode *));p->val = num - 10;r->next = p;r = p;flag = 1;}l1 = l1->next;}while (l2){num = l2->val + flag;if (num<10){p = (struct ListNode *)malloc(sizeof(ListNode *));p->val = num;r->next = p;r = p;flag = 0;}else{p = (struct ListNode *)malloc(sizeof(ListNode *));p->val = num - 10;r->next = p;r = p;flag = 1;}l2 = l2->next;}if (flag) //最后再判断一次判断是否有进位{p = (struct ListNode *)malloc(sizeof(ListNode *));p->val = 1;r->next = p;r = p;}r->next = NULL;return h->next;}
0 0
- [LeetCode OJ][002]Add Two Numbers
- 【LeetCode OJ 002】Add Two Numbers
- LeetCode OJ:Add Two Numbers
- LeetCode OJ - Add Two Numbers
- LeetCode OJ Add Two Numbers
- LeetCode OJ - Add two Numbers
- LeetCode OJ ----Add Two Numbers
- LeetCode OJ:Add Two Numbers
- Leetcode OJ:Add Two Numbers
- OJ 002 Add Two Numbers
- LeetCode OJ #2 Add Two Numbers
- LeetCode OJ 02 Add Two Numbers
- LeetCode OJ : 2 Add Two Numbers
- <LeetCode OJ> 2. Add Two Numbers
- LeetCode OJ 2.Add Two Numbers
- LeetCode OJ 2. Add Two Numbers
- LeetCode OJ(2.Add Two Numbers)
- 三、[LeetCode OJ]Add Two Numbers
- web服务器原理解释——基于Java的简单服务器实例
- DBN爬坑记之RBM
- 【C语言】编写程序数一下1到100的所有整数中出现多少次9.
- apache MINA之心跳协议运用
- 欢迎使用CSDN-markdown编辑器
- 【LeetCode OJ 002】Add Two Numbers
- 取特定元素下面最大子元素高度,并赋值给其他子元素
- NYoj63-小猴子下落 -二叉树
- 老码识途 理解指针和指针强制转换
- R cannot be resolved to a variable解决
- 学习C语言位运算的概念(原码,反码,补码)
- C/C++的64位整型
- 管道的概念
- 人脸技术-人脸数据库汇总