2
我有一个链接列表,我希望能够看到前面的两个节点。我需要检查前两个节点是否有整数,如果有,并且第三个节点说ADD,那么我需要将这些信息压缩到一个节点并释放其他两个节点。如何遍历前面两个节点的链接列表?
我很困惑我的while循环中应该发生什么。我检查第三个节点是否指向null,但不知何故,这并没有给我正确的输出。我不知道我是否正确处理我的node.next。其中一些现在是伪代码。
while(node1.next.next.next != NULL){
if((node1.data.isInteger() && (node2.data.isInteger()){
if(node3.data.equals('add')){
node1.data = node1.data + node2.data;
} else {
//ERROR
}
garbage_ptr1 = node2;
garbage_ptr2 = node3;
node1.next = node3.next;
free(garbage_ptr1);
free(garbage_ptr2);
node2.next = node1.next.next;
node3.next = node2.next.next;
} else {
node1.next = node1.next.next;
node2.next = node1.next.next;
node3.next = node2.next.next;
}
尝试迭代(移动)你以相反的顺序列出:当你看到运营商加入你知道你必须要总结两个操作数,这两个未来。 – Aubin 2013-02-27 19:41:50
你的while循环内部不能循环节点来展望未来2? – SMT 2013-02-27 19:42:40
它是'队列'还是'deque'? – bsiamionau 2013-02-27 19:43:41