如何解决我无法找出此代码中的任何错误,但它显示了段错误,有人可以帮助我吗?
节点* n1 = 头部; 节点* n2 = 头部; 同时(真) { if(n1->next==NULL&&n2==NULL&&n2->next==NULL) 返回0; n1 = n1->下一个; n2 = n2->next->next; 如果(n1==n2) { int len = 1; while(n1->next!=n2) { n1 = n1->下一个; 连++; } 返回 len; } 我用它来计算链表中循环的长度,当我在 gfg 上提交它时,它显示为段错误。请帮帮我。
解决方法
这一行是问题所在:
n2 = n2->next->next;
经过足够的外部while循环后,n2
指向链表的最后一个节点,因此n2->next
是NULL
,n2->next->next
尝试做某事不应该。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。