【题解】NC40链表相加(二)(链表 + 高精度加法)

news/2024/9/22 18:21:11/

https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b?tpId=196&tqId=37147&ru=/exam/oj
在这里插入图片描述

class Solution {public:// 逆序链表ListNode* reverse(ListNode* head) {// 创建一个新节点作为逆序后链表的头节点ListNode* newHead = new ListNode(0);// 当前节点指针指向原链表的头节点ListNode* cur = head;// 遍历原链表while (cur) {// 保存当前节点的下一个节点ListNode* next = cur->next;// 将当前节点插入到新链表的头部cur->next = newHead->next;newHead->next = cur;// 更新当前节点为原链表中的下一个节点cur = next;}// 保存逆序后的链表头节点cur = newHead->next;// 释放新节点delete newHead;// 返回逆序后的链表头节点return cur;}ListNode* addInList(ListNode* head1, ListNode* head2) {// 1. 逆序两个链表head1 = reverse(head1);head2 = reverse(head2);// 2. ⾼精度加法int carry = 0; // 进位ListNode* cur1 = head1, *cur2 =head2; // 分别指向两个链表的当前节点ListNode* ret = new ListNode(0); // 结果链表的头节点ListNode* prev = ret; // 指向结果链表当前节点的前一个节点// 遍历两个链表或者进位不为0while (cur1 || cur2 || carry) {if (cur1) {carry += cur1->val;cur1 = cur1->next;}if (cur2) {carry += cur2->val;cur2 = cur2->next;}// 将当前位的数字插入到结果链表prev = prev->next = new ListNode(carry % 10);carry /= 10; // 更新进位}// 释放结果链表头节点cur1 = ret->next;ret->next = nullptr;delete ret;// 3. 逆序结果链表并返回return reverse(cur1);}
};

http://www.ppmy.cn/news/1428551.html

相关文章

【高阶数据结构】并查集 -- 详解

一、并查集的原理 1、并查集的本质和概念 (1)本质 并查集的本质:森林。 (2)概念 在一些应用问题中,需要将 n 个不同的元素划分成一些不相交的集合。 开始时,每个元素自成一个单元素集合&…

C++修炼之路之list--C++中的双向循环链表

目录 前言 一:正式之前先回顾数据结构中的双向循环链表 二:list的简介 三:STL中list常用接口函数的介绍及使用 1.构造函数接口 2.list迭代器 范围for 3.数据的修改接口函数 4.list容量操作函数 5.list的迭代器失效 6.演示代码和测…

iOS RACScheduler 使用详解

RACScheduler 是 ReactiveCocoa 框架中的一个关键组件,用于在 iOS 开发中管理任务的并发执行。以下是如何详细使用 RACScheduler 的指南,以 Markdown 格式展示。 主要调度器 主线程调度器 用于在主线程上执行任务,通常用于 UI 更新操作。 …

2024年4月13日美团春招实习试题【第一题:好子矩阵】-题目+题解+在线评测【模拟】

2024年4月13日美团春招实习试题【第一题:好子矩阵】-题目题解在线评测【模拟】 题目描述:输入描述输出描述样例 解题思路一:模拟解题思路二:思路二解题思路三:直接判断 题目描述: 塔子哥定义一个矩阵是”好矩阵”&…

四.RocketMQ的几种消息发送方式应用

RocketMQ的几种消息发送方式应用 一:普通消息1)发送同步消息2)发送异步消息3)单向发送消息4)消费消息-负载均衡模式5)消费消息-广播模式 二:顺序消息1.顺序消息指的是:严格按照消息的发送顺序进…

ubuntu安装QEMU

qemu虚拟机的使用(一)——ubuntu20.4安装QEMU_ubuntu安装qemu-CSDN博客 遇到的问题: (1)本来使用git clone https://github.com/qemu/qemu.git fatal: 无法访问 https://github.com/qemu/qemu.git/:GnuTLS recv error (-110): …

OpenHarmony实战开发-页面深色模式适配。

介绍 本示例介绍在开发应用以适应深色模式时,对于深色和浅色模式的适配方案,采取了多种策略如下: 1. 固定属性适配:对于部分组件的颜色属性,如背景色或字体颜色,若保持不变,可直接设定固定色值…

SQL中WITH RECURSIVE的用法

SQL中WITH RECURSIVE的用法 文章目录 SQL中WITH RECURSIVE的用法定义**WITH RECURSIVE 结构通常包含以下几个关键部分:****1. CTE(Common Table Expression,公用表表达式):**2.递归查询的结构3.连接操作符:…