我正在尝试确定两个链表是否为真子集......
不知道我是怎么把它当成假的,而当它应该是真的时,因为 P 包含 Q 的所有元素。
最佳答案
每次查看时都需要将 q 重置为 q 的开头。
为此你需要保存for循环之前的原始节点,并在每次重新设置:
Node *q_start = q;
for(p=p; p!=NULL; p=p->next) {
q = q_start;
这应该是最简单的修复,但不是最好的。
关于c++ - 使用链表确定适当的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20391530/