/**
*给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
*请你将两个数相加,并以相同形式返回一个表示和的链表。
*你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
*/
#include <iostream>
#include<time.h>
using namespace std;
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) {}
};
//函数声明
void initListNode(ListNode*, ListNode*); //列表初始化
void printfListNode(ListNode* listNode);//列表打印输出
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
}
};
int main()
{
Solution solution;
//solution.addTwoNumbers();
ListNode* l1 = nullptr, * l2 = nullptr;
initListNode(l1, l2); //单链表初始化数据
printfListNode(l1); //********这里打印不出结果,反而在初始化函数中可以打印结果出来*******
//printfListNode(l2);
return 1;
}
//单链表初始化
void initListNode(ListNode* head1, ListNode* head2) {
ListNode *nextNode1 = nullptr, * nextNode2 = nullptr;
srand(time(NULL));
for (int i = 0; i < 3; i++)
{
int a = rand() % 9 + 1;
int b = rand() % 9 + 1;
cout << "a=" << a << ",b=" << b << endl;
if (i == 0)
{
head1 = new ListNode(a, nullptr);
head2 = new ListNode(b, nullptr);
nextNode1 = head1;
nextNode2 = head2;
}
else
{
nextNode1->next = new ListNode(a, nullptr);
nextNode2->next = new ListNode(b, nullptr);
nextNode1 = nextNode1->next;
nextNode2 = nextNode2->next;
}
}
//printfListNode(head1); ********单链表在这里就可以打印出结果来
//printfListNode(head2);
}
//单链表打印输出
void printfListNode(ListNode* listNode)
{
while (listNode)
{
cout << listNode->val << " ";
listNode = listNode->next;
}
cout << endl;
}
单链表main函数中调用打印函数无输出,反而在初始化函数中调用打印函数有输出
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- lshen01 2023-03-17 15:39关注
参考GPT和自己的思路:
问题出在initListNode函数的参数传递上。由于传递的是指针的值,因此在函数内部修改指针的指向并不会影响到main函数中的指针。
正确的做法是使用引用传递,即将函数声明改成:
void initListNode(ListNode*& head1, ListNode*& head2);
这样,在函数内部修改指针的指向就可以正确地影响到main函数中的指针了。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 模电中二极管,三极管和电容的应用
- ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
- ¥15 气象网格数据与卫星轨道数据如何匹配
- ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
- ¥15 微软账户问题不小心注销了好像
- ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络