当前位置: 首页 > news >正文

Leetcode—2.两数相加【中等】

2023每日刷题(十五)

Leetcode—2.两数相加

在这里插入图片描述

迭代法实现代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {struct ListNode* lc = (struct ListNode*)malloc(sizeof(struct ListNode));struct ListNode* p = l1;struct ListNode* q = l2;lc->next = p;int c = 0;struct ListNode* p2 = p;struct ListNode* q2 = q;while(p&&q) {c = p->val + q->val + c;int tmp = c % 10;c /= 10;p->val = tmp;if(p->next == NULL) {p2 = p;}p = p->next; q = q->next;}if(p) {while(p) {c = c + p->val;int tmp = c % 10;c /= 10;p->val = tmp;if(p->next == NULL) {p2 = p;}p = p->next;}if(c != 0) {struct ListNode* s = (struct ListNode*)malloc(sizeof(struct ListNode));s->val = c;s->next = NULL;p2->next = s;c = 0;}}if(q) {p2->next = q;while(q) {c = c + q->val;int tmp = c % 10;c /= 10;q->val = tmp;if(q->next == NULL) {q2 = q;}q = q->next;}if(c != 0) {struct ListNode* s = (struct ListNode*)malloc(sizeof(struct ListNode));s->val = c;s->next = NULL;q2->next = s;c = 0;}}if(c != 0) {struct ListNode* s = (struct ListNode*)malloc(sizeof(struct ListNode));s->val = c;s->next = NULL;p2->next = s;c = 0;}return lc->next;
}

运行结果

在这里插入图片描述

递归实现代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2, int carry = 0) {if(l1 == nullptr && l2 == nullptr) {return (carry? new ListNode(carry) : nullptr);}if(l1 == nullptr) {struct ListNode* p = l1;l1 = l2;l2 = p;}carry += l1->val + (l2? l2->val: 0);l1->val = carry % 10;l1->next = addTwoNumbers(l1->next, (l2? l2->next: nullptr), carry/10);return l1;}
};

运行结果

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

http://www.lryc.cn/news/213512.html

相关文章:

  • 拷贝音频、视频、word等二进制文件的实现方法,不掉帧
  • dmfldr-快速装载-载入(DM8:达梦数据库)
  • Postman测试金蝶云星空Webapi【协同开发云】
  • mongo常用操作符及查询例子
  • 41.排序练习题(王道2023数据结构第8章综合练习)
  • python爬虫,如何在代理的IP被封后立刻换下一个IP继续任务?
  • 小程序开发——小程序项目的配置与生命周期
  • C语言之用指针交换两个数
  • Day 48 动态规划 part14
  • 目标检测与图像识别分类的区别?
  • 群晖设置DDNS (服务商Godaddy被墙 DDNS-GO无法解析 采用自定义脚本方式完成DDNS更新)
  • 博客摘录「 MySQL不区分大小写设置」2023年10月31日
  • 【UE5】如何在UE5.1中创建级联粒子系统
  • SpringCloud(五) Eureka与Nacos的区别
  • C语言 DAY07:预编译,宏,选择性编译,库(静态库,动态库)
  • [EFI]asus strix b760-i 13900F电脑 Hackintosh 黑苹果efi引导文件
  • 力扣383.赎金信
  • CORS的原理以及在Node.js中的使用
  • kotlin实现单例模式
  • 【Java】LinkedList 集合
  • MySQL-Galera-Cluster集群详细介绍
  • JavaScript从入门到精通系列第二十六篇:详解JavaScript中的Math对象
  • u盘直接拔出文件丢失怎么找回?u盘文件恢复办法分享!
  • rust学习-LinkedList
  • 搭上直播快车,文旅迎来了更大爆发期?
  • 【智能座舱系列】- 深度解密小米Hyper OS,华为HarmonyOS区别
  • kafka-consumer-groups.sh
  • 数据仓库-拉链表
  • 【Docker】一些可以直接用的Docker环境
  • Unity2D中瓦片地图的创建与绘制教程