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

(牛客网)链表相加(二)

 嗯哼~



题目

描述

假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。

给定两个这种链表,请生成代表两个整数相加值的结果链表。

数据范围:0 ≤ n,m ≤ 1000000,链表任意值 0 ≤ val ≤ 9
要求:空间复杂度 O(n),时间复杂度 O(n)

示例 



思路 

 

单链表的翻转详细讲解:反转一个单链表(<---点击可看详解)



 

题解代码

struct ListNode* ReverseList(struct ListNode* pHead)
{// write code herestruct ListNode* cur = pHead;struct ListNode* pre = NULL;while (cur != NULL){struct ListNode* temp = cur->next;cur->next = pre;pre = cur;cur = temp;}return pre;
}struct ListNode* addInList(struct ListNode* head1, struct ListNode* head2)
{// write code herehead1 = ReverseList(head1);head2 = ReverseList(head2);int temp = 0;int add = 0;struct ListNode* newhead = NULL;while (head1 && head2){temp = (head1->val + head2->val + add);if (temp >= 10){add = 1;temp %= 10;}else{add = 0;}struct ListNode* cur = (struct ListNode*)malloc(sizeof(struct ListNode));cur->val = temp;cur->next = newhead;newhead = cur;head1 = head1->next;head2 = head2->next;}struct ListNode* empty = head1;struct ListNode* nonempty = head2;if (head1 != NULL){empty = head2;nonempty = head1;}while (nonempty){temp = (nonempty->val + add);if (temp >= 10){add = 1;temp %= 10;}else{add = 0;}struct ListNode* cur = (struct ListNode*)malloc(sizeof(struct ListNode));cur->val = temp;cur->next = newhead;newhead = cur;nonempty = nonempty->next;}if (add == 1){struct ListNode* cur = (struct ListNode*)malloc(sizeof(struct ListNode));cur->val = 1;cur->next = newhead;newhead = cur;}return newhead;}


 个人主页:Lei宝啊

愿所有美好如期而遇

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

相关文章:

  • Vs code 使用中的小问题
  • vue2和vue3
  • 火山引擎ByteHouse:一套方案,让OLAP引擎在精准投放场景更高效
  • 【论文阅读】SHADEWATCHER:使用系统审计记录的推荐引导网络威胁分析(SP-2022)
  • Mac 使用 rar 命令行工具解压和压缩文件
  • 7.maven
  • MySQL 主从复制遇到 1590 报错
  • games101-windows环境配置(CMake+vcpkg+VS2019)
  • 2023年Java核心技术面试第五篇(篇篇万字精讲)
  • 第十课:Qt 字符编码和中文乱码相关问题
  • Go语言基础:Interface接口、Goroutines线程、Channels通道详细案例教程
  • Cesium加载ArcGIS Server4490且orgin -400 400的切片服务
  • Objectarx 2021使用vs2019生成报错 /RTCc rejects conformant code
  • QT中使用QtXlsx库的三种方法 QT基础入门【Excel的操作】
  • 容器和云原生(二):Docker容器化技术
  • 学习总结(TAT)
  • 2023java异常之八股文——面试题
  • 数据可视化和数字孪生相互促进的关系
  • axios使用axiosSource.cancel取消请求后怎么恢复请求,axios取消请求和恢复请求实现
  • SAP动态安全库存简介
  • JVM基础了解
  • QT:event事件分发器,事件过滤器(了解)
  • 若依项目的介绍(前后端分离版本)
  • DT游乐场建模
  • Servlet+JDBC实战开发书店项目讲解第9篇:VIP等级优惠实现
  • Azure文件共享
  • idea新建web项目
  • 回归预测 | MATLAB实现BES-SVM秃鹰搜索优化算法优化支持向量机多输入单输出回归预测(多指标,多图)
  • 电商增强现实3D模型优化需要关注的4个方面
  • 【Effective Python】读书笔记-04推导与生成