博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]2. Add Two Numbers
阅读量:4635 次
发布时间:2019-06-09

本文共 1432 字,大约阅读时间需要 4 分钟。

原题链接:

意思是给定两个存在链表中的数,输出和(同样存储在链表中)。

 

我的实现:

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */#include
class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { stack
result_stack; ListNode* result_list = NULL; int val, carry; carry = 0; while(l1 != NULL || l2 != NULL || carry != 0) { int l1_num, l2_num, sum; if (l1 == NULL) { l1_num = 0; } else { l1_num = l1->val; l1 = l1->next; } if (l2 == NULL) { l2_num = 0; } else { l2_num = l2->val; l2 = l2->next; } sum = l1_num + l2_num + carry; val = sum % 10; carry = sum / 10; result_stack.push(val); } while(!result_stack.empty()) { ListNode* result_node = new ListNode(result_stack.top()); result_node->next = result_list; result_list = result_node; result_stack.pop(); } return result_list; }};

主要是注意进位,结果的保存。不要像我一样这么麻烦地保存结果的,直接在运算时构建结果链表即可。

 

转载于:https://www.cnblogs.com/qianzixuan1996/p/8286848.html

你可能感兴趣的文章
android viewpage预加载和懒加载问题
查看>>
android 去掉标题栏、状态栏、横屏
查看>>
android studio : clang++.exe: error: invalid linker name in argument '-fuse-ld=bfd
查看>>
VMware安装Centos7后有线线缆被拔出
查看>>
关于在smarty中实现省市区三级联动
查看>>
用数据辅助设计-搜索中的实践
查看>>
光荣之路测试开发面试linux考题之四:性能命令
查看>>
计算本年 本月 本周的起始日期
查看>>
hdu 3177贪心
查看>>
leetcode 268
查看>>
Module 的语法
查看>>
linux
查看>>
多线程的使用
查看>>
k-means k均值聚类的弱点/缺点
查看>>
《离散数学》双语专业词汇表 名词术语中英文索引
查看>>
Python初步
查看>>
【MFC】vs2013_MFC使用文件之15.mfc 按钮CBitmapButton的使用
查看>>
QGLViewer 编译安装步骤
查看>>
配置Mysql实现主从复制与读写分离
查看>>
易货Beta版本发布说明
查看>>