大整数相加--链表结构正向存储--Add Two Numbers II
来源:互联网 发布:守护小天使app软件 编辑:程序博客网 时间:2024/06/01 20:26
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { l1=reverse(l1); l2=reverse(l2); ListNode* ahead=new ListNode(-1); ListNode* p=ahead; int c=0; int val1,val2; while(l1||l2) { val1=l1==NULL?0:l1->val; val2=l2==NULL?0:l2->val; p->next=new ListNode((val1+val2+c)%10); p=p->next; c=(val1+val2+c)/10; l1=l1==NULL?NULL:l1->next; l2=l2==NULL?NULL:l2->next; } if(c==1) { p->next=new ListNode(1); } return reverse(ahead->next); } ListNode* reverse(ListNode* head) { ListNode* rhead=NULL; ListNode* p=head; ListNode* pre=NULL; while(p) { ListNode* pnext=p->next; if(pnext==NULL)rhead=p; p->next=pre; pre=p; p=pnext; } return rhead; }};
阅读全文
0 0
- 大整数相加--链表结构正向存储--Add Two Numbers II
- 445. Add Two Numbers II | 链表的整数相加
- 大整数相加链表实现(Add Two Numbers)
- leeecode 445. Add Two Numbers II 链表相加
- [Leetcode]Add Two Numbers 链表实现大数字相加
- Add Two Numbers 链表相加
- Add Two Numbers 链表相加
- Add Two Numbers Leetcode 链表相加
- Leetcode Add two numbers链表相加
- 【LeetCode】链表相加 Add Two Numbers
- 两个链表相加的和445. Add Two Numbers II
- [Leetcode #2]Add Two Numbers 链表存储的两个正数相加
- LeetCode Add Two Numbers两个链表数值相加
- LeetCode | Add Two Numbers(两个链表相加)
- 2.Add Two Numbers(medium)[链表处理 大数相加]
- LeetCode-2. Add Two Numbers(链表实现数字相加)
- (leetcode)2. 两个链表相加Add Two Numbers--Java
- Add Two Numbers 两个链表相加 python
- 刷新当前activity到初始化状态
- SAE数据库完美备份(自动备份+发送邮件+数量可控)
- 刻度如果数据比较大的情况下会溢出
- 深入理解JavaScript系列(49):Function模式(上篇)
- AFNetworking用法
- 大整数相加--链表结构正向存储--Add Two Numbers II
- AngularJS如何实现鼠标移入显示,鼠标移出隐藏的效果
- 编译raspilot的firmware步骤
- JUnit4笔记(一)---概述和简单使用
- 深入理解JavaScript系列(50):Function模式(下篇)
- Quartz recovery 及misfired机制的源码分析
- Tomcat启动时出现 MESSAGE: Connection refused: connect
- 基础tools:context=“”的作用
- 链表面试题---删除倒数第k个结点、逆置单链表