力扣 445 两数相加

网络攻防技术——MD5碰撞试验 一、题目 本次实验主要是加深大家对MD5碰撞及其原理的理解,使用SEED实验环境中的工具及编程语言,完成以下任务: a)使用md5collgen生成两个MD5值相同的文件,并利用bless十六进制编辑器查看输出的两个文件,描述你观察到的情况; b)参考Lab3_task2.c的代码,生成两个MD5值相同但输出不同的两个可执行文件。 c)参考Lab3_task3.c的代码,生成两个MD5值相同但代码行为不相同的可执行文件。 d)回答问题:通过上面的实验,请解释为什么可以做到不同行为的两个可执行文件具有相同的M 阅读详情

给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。

这两个数字都不会以零开头。
示例
输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)
输出: 7 -> 8 -> 0 -> 7
因此本题的实现是用栈来实现的
c++中虽然提供了栈的直接调用,但是本题还是从最基础的栈实现,链表实现来编码的

#include <iostream>
using namespace std;
#define MaxSize 50
typedef struct LNode
{
    int data;
    struct LNode* next;
}LinkNode;
typedef struct SqStack
{
    int data[MaxSize];
    int top;
};
//栈的初始化
void Init_Stack(SqStack *&S)
{
    S = (SqStack*)malloc(sizeof(SqStack));
    S->top = -1;
}
//进栈操作
void Push(SqStack*&S,int& e )
{
    if (S->top == MaxSize - 1)//
        return;
    S->top++;
    S->data[S->top] = e;
}
//出栈操作
int Pop(SqStack* &S, int &e)
{
    if (S->top == - 1)//
        return 0;
    e = S->data[S->top];
    S->top--;
    return e;
}
//初始化链表
void InitList(LinkNode*& L)
{
    L = (LinkNode*)malloc(sizeof(LinkNode));
    L->next = NULL;
}
//尾插法插入元素 为了让插入的元素正序
void Insert_R(LinkNode*& L, int a[], int n)
{
    LinkNode* R,* S;
    int i;
    L = (LinkNode*)malloc(sizeof(LinkNode));
    R= L;
    for (i = 0; i < n; i++)
    {
        S = (LinkNode*)malloc(sizeof(LinkNode));
        S->data = a[i];
        R->next = S;
        R = S;
    }
    R->next = NULL;
}
//头插法
void CreateListF(LinkNode*& L, int a[], int n)
{
    LinkNode* s;
    int i;
    L = (LinkNode*)malloc(sizeof(LinkNode));
    L->next = NULL;
    for (i = 0; i < n; i++)
    {
        s = (LinkNode*)malloc(sizeof(LinkNode));
        s->data = a[i];
        s->next = L->next; //s指向L的next
        L->next = s;
    }
}

//输出线性表
void DispList(LinkNode* L)
{
    LinkNode* s = L->next;
    while (s != NULL)
    {
            cout << s->data << "->";          
            s = s->next;
    }
}
int main()
{
    LinkNode* L1, * L2,*L3;
    SqStack* S1, * S2;
    int flag=0;
    int e,e1, e2;//用来接收栈弹出的元素
    int a[50] = {9,2,4,3};
    int b[50] = {8,6,4};
    int c[7] = {0};//用来为最后返回的链表传参
    int j=0;//让数组下标增长
    int count=0;//用来记录,链表有多少个数字
    int size;//记录c数组的长度变化
    Insert_R(L1, a, sizeof(a)/sizeof(a[0]));
    Insert_R(L2, b, sizeof(b) / sizeof(b[0]));
    Init_Stack(S1); //初始化栈  
    Init_Stack(S2);   
    do
    {
            Push(S1, L1->next->data);
            L1 = L1->next;               
    } while (L1->next->data != NULL);
    do
    {
        Push(S2, L2->next->data);
        L2 = L2->next;
    } while (L2->next->data != NULL);
    while (S1->top !=-1||S2->top !=-1)
    {
       e1= Pop(S1,e);
       flag += e1;
       e2=Pop(S2, e);
       flag += e2;
       c[j++] = flag % 10;
       flag = flag / 10;
    }
    if (flag == 1)//判断最后有没有进位
        c[j] = 1;
    CreateListF(L3, c, j + 1);//此时记录的元素是具体的元素,数组的最大下标得让j+1
    DispList(L3);
    return 0;
}

具体了解更简便的方法阅读下文
java中调用栈机制

上下双相机定位贴合(原理到应用,halcon源码详解) 上下双相机定位贴合(原理到应用,halcon源码详解) 一、简介(类型与之前的文章)看你们理解那个文章快 主要讲解上下双相机定位贴合的原理和实现过程,包括各种标定、组合使用及具体的halcon源码实现,适用于的X、Y、Z三轴加一旋转轴系统,如模组组成的多轴系统、Scara四轴机器、六轴机器人(在运行过程中保证几个自由度不动,运行即可) 二、标定介绍 这一小节总结了通用的相机和轴的相对位置模型,并对其标定进行详细讲解 本系统仅使用了九点标定,精度可做到0.05mm 九点标定作用: A、本质就是仿射变换,一个坐 阅读详情

相关推荐

GSview5.0安装步骤及问题

GSview5.0安装步骤及问题安装步骤遇到的问题 尝试过很多对图片去白边的方法,感觉最好用最有效的还是用GSview比较好操作。本文针对gsview安装及安装过程中踩过的坑记录下来。 安装步骤 在官网下载gsv50w64.exe(或32位的),直接双击安装即可。 安装Ghostscript;注意:GSview5.0不支持最新版的Ghostscript9.54,这里用到是9.27的版本可以在Github中找到,下载gs927w64.exe,一定要安装在GSview的安装目录Ghostgum下 Gho

LilianLYN的博客 1万+

leetcode环形链表 II

题目描述:给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表的环,我们使用整数pos来表示链表为连接到链表中的位置(索引从0开始)如果pos是-1,则在该链表中没有环。 def hasCycle(self,head): " " " :type head;ListNode :rtype:bo...

yanchuner1的博客 234

UE5网络模块实战:属性复制、RPC与联机开发踩坑指南

多人联机开发中,网络同步是核心难题。UE5网络模块以服务器权威为基础,通过Actor复制、RPC和所有权机制实现多端状态一致。理解属性复制与OnRep回调、区分Server/Client/Multicast RPC的适用场景,是构建稳定联机架构的关键。本文结合数字孪生与多端协作场景,探讨如何将渲染与逻辑分离,并针对打包后网络失效、端口防火墙、崩溃排查等工程实践问题给出解决方案。通过蓝图接口解耦表现层,利用C++创建StaticMesh组件实现服务器逻辑与客户端表现分离,同时注意专用服务器不加载渲染依赖(如D

weixin_29010003的博客 269

LeetCode第 445 题:两数相加 II(C++)

445. 两数相加 II - 力扣(LeetCode) 这儿的顺序与正常的相加不一样,使用栈倒腾一下就可以了。 class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { stack<int> s1, s2; while(l1){ s1.push(l1->val); l1 = l1->next;

zj 285

iPhone用户必看:不装App也能搞定GitHub 2FA验证的3种方法(附恢复码管理技巧)

本文为iPhone用户提供了无需安装第三方App即可完成GitHub双重身份验证(2FA)的三种原生方案:利用相机扫码与iCloud钥匙串自动填充、使用iCloud钥匙串内置的TOTP验证码生成器,以及借助Safari浏览器扩展。文章详细解析了每种方法的操作步骤、适用场景,并重点强调了恢复码的安全管理与多层备份策略,帮助开发者在提升账户安全的同时,享受苹果生态的无缝便捷体验。

weixin_29324401的博客 653

SSH 远程登录报错:kex_exchange_identification: Connection closed.....

不知道为啥会出现这样的情形,最近这段时间登录都是正常的,不知道哪里抽风了,就提示这个。错误信息 kex_exchange_identification: Connection closed by remote host 出现在尝试使用 SSH 连接到远程服务器过程中,表明在密钥交换阶段的一开始,远程主机就关闭了连接。服务器的sshd_config文件中配置错误,可能是不允许的加密算法、修订文件中的语法错误,或者未正确指定用于SSH的HostKey。如果当前已有太多活动连接,新的连接尝试可能会被拒绝。

飞越蓝天的专栏 8296

【力扣日记】445 两数相加 II

题目描述 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 算法思路 链表的遍历+链表的创建: class Solution: def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> List...

Heart_for_Ling的博客 382

RH850从0搭建Autosar开发环境【2X】- Davinci Configurator之EcuC模块配置详解(上)

RH850从0搭建Autosar开发环境【2X】- Davinci Configurator之EcuC模块配置详解(上)

weixin_42412049的博客 1529

【力扣】445. 两数相加 II

题目:给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7...

漆黑梦工厂 376

YOLOv11的流形学习压缩:局部线性嵌入(LLE)引导的特征降维,实现在CSP模块中嵌入流形结构保持约束

摘要 本文探讨了流形学习在YOLOv11目标检测模型中的应用,重点研究局部线性嵌入(LLE)方法对CSP模块的特征压缩优化。针对深度学习模型的高维特征冗余问题,LLE通过三个关键步骤实现非线性降维:寻找k近邻、计算重构权重和低维嵌入,相比传统PCA方法能更好地保持数据的局部结构。文章详细分析了LLE的数学原理和参数选择策略,并提出在YOLOv11的CSP模块中嵌入流形约束的创新设计。通过特征分割前、处理过程和融合阶段引入流形一致性损失函数,该方法能在降低特征维度的同时保持原始流形结构,从而提升模型的计算效率

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1380

银河麒麟桌面系统 必会操作 | 加装双系统(麒麟桌面系统+Windows系统)的详细方法(含常见故障和解决方法)

装好麒麟桌面操作系统的电脑上、再加装Windows 操作系统的详细方法;和在已经装好Windows系统的电脑上、再加装麒麟桌面操作系统的详细方法;含加装双系统过程中常见问题的解决方法。

qq_33216613的博客 2408

LeetCode 445两数相加II

LeetCode 445两数相加IIMedium 题目简述:给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。 输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 8 -> 0 -> 7 思路:反转链表后从低位到高位依次相加,最后再反转新求和链表并返回结果 /** * Defi

XBlog 191

PCL K4PCS算法实现点云粗配准【2026最新版】

K4PCS算法实现点云粗配准。博客长期更新,本文最近一次更新时间为:2026年5月4日。

点云侠的博客 42万+

LeetCode445. 两数相加 II

445. 两数相加 II 题目链接 解法一:两个栈存储链表元素,依次遍历 l1,l2,依次遍历 stackL1、stackL2,头结点插入生成新链表,carry 标志进位 public ListNode addTwoNumbers(ListNode l1, ListNode l2) { Stack<Integer> stackL1 = new Stack<>...

码农在途的博客 1239

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

LeetCode 445. 两数相加 II

使用栈先入后出的特性,来逆序处理链表,进而解决《445. 两数相加 II》问题的主要内容。其中返回新链表时,使用头插法,确保返回的链表顺序正确

"大梦三千秋的博客 558

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【LeetCode: 445. 两数相加 II + 链表】

【LeetCode: 445. 两数相加 II + 链表】给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。

Coder_ljw的博客 1081

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

leetcode445. 两数相加 II

leetcode445. 两数相加 II 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -> 4 -> 3) + ...

peony的博客 112

两数相加 II(leetcode 445)python题解

和leetcode第二题差不多,先把l1,l2反转链表之后相加然后再反转链表时间复杂度:空间复杂度:

weixin_56600336的博客 1026

Leetcode445.两数相加 II(C语言)

Leetcode445.两数相加 II(C语言) 数据结构-链表:算法与数据结构参考 题目: 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。例: 输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) 输出: 7 -> 8 -> 0 -> 7 思路:...

jeanlu的博客 338

leetcode 445. 两数相加 II java

leetcode 445. 两数相加 II java 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 2 -> 4 -> 3) + ...

qq_23858785的博客 264

【力扣】[栈] LeetCode445.两数相加 II

1、题目 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 链接:https://leetcode-cn.com/problems/add-two-numbers-ii   2、思路分析 1)栈 一般逆序处理首先想到栈。 这题不让用逆序,所以就想到了栈。 class Solution { public: ListNode* addTwoNumbers(

金金金金金的博客 319

力扣 #445 两数相加 Ⅱ(力扣#2 两数相加进阶版)

# 445 两数相加 II 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -&...

soldersun的博客 193

leetcode——链表——445——两数相加

leetcode 链表专题 445——两数相加 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -> 4 -> 3) + (5 -&...

panghaomingme的博客 403

leetcode 445. 两数相加 II

leetcode 445. 两数相加 II 题目详情 题目链接 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -> 4 -&gt...

qq_33789406的博客 719

LeetCode刷题之T445两数相加 II(中等)

这次讲解的题目是LeetCode上的第T445两数相加 II(中等),其T2两数相加(中等)可参考:https://blog.youkuaiyun.com/Pzzzz_wwy/article/details/105519719 接下来上题: 节点的定义: 话不多说上思路: 首先我们得知道我们如果通过遍历,那么最先得到的就是较高位的值,然后再依次得到较低的值,然后按位置再相加后将值写到一个新的链表,接下来讲解...

Cocowwy的博客 334

Leetcode—445.两数相加II【中等】

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

Atticus的博客 852
上一篇: LeetCode 上第 771 号问题:宝石与石头
下一篇: 寻找缺失的整数
凌晨里的无聊人
博客等级 码龄8年 2320粉丝 206原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晨里的无聊人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值