1 2 3 4 5
我在具有该顺序的元素的链表上运行此函数。当我打印返回节点的数据成员时,我的输出是2
. 为什么是输出2
?当我把线two = two->next
放在if
范围内时,我得到了3
. 我不明白为什么我会得到2
它的写法。
SLNode* mid(SLNode *head) {
SLNode *one = head;
SLNode *two = head;
while(one != nullptr) {
one = one->next;
two = two->next;
if(one != nullptr) {
one = one->next;
//two = two->next;
}
}
return two;
}
编辑::
所以我猜这个列表实际上5 4 3 2 1
是一个额外的节点,因为有奇数个元素。说得通。