java - 为什么链接列表合并功能在 Java 中不起作用?
问题描述
问题出现在“while(m.next!=null)”的合并函数中。它抛出一个“NullPointerException”。
public class Linked {
node ptr1;
node ptr2;
void merge()
{
node m=ptr1;
while(m.next!=null)
m=m.next;
m.next=ptr2;
}
void printmerged()
{
node m=ptr1;
while(m.next!=null)
System.out.print(m.data+", ");
System.out.println(m);
}
}
解决方案
我在您的代码中添加了注释,以向您解释发生了什么。
node ptr1; //ptr1 is null here
node ptr2;
void merge()
{
node m=ptr1; //you are assigning null to m
while(m.next!=null) //you are accessing the "next" property of a null object
m=m.next;
m.next=ptr2;
}
您必须实例化您的对象,否则它们将为空。
推荐阅读
- javascript - GoJS 中的动画图标
- docker - Docker - 在启动容器之前需要延迟
- tomcat - 如何通过在浏览器中运行的 Ionic 4 应用程序在 cookie 中附加 JSESSIONID,同时向 tomcat 服务器发送 http/https 请求?
- reactjs - 我在 netlify 或 vercel 中部署前端应用程序时遇到问题
- mysql - NodeJS:如何拆分大 ODS 文件?
- google-cloud-platform - 其他地区的 Stackdriver 日志记录价格
- google-app-engine - CloudTasks 不扩展 GAE 后端实例
- django - 测试代码时没有模块错误如何解决?
- swift - 与单例辅助类模式相比,类、结构、枚举的 swift 扩展是否会增加内存使用量
- visual-studio-code - VSCode:在 WSL 终端打开时自动执行命令