一次遍历就能够找到中间节点,怎样实现的呢?
让我们直奔主题:
思想: 首先经过两次遍历可以找到中间的节点,这个是毋庸置疑的,第一次查看个数,第二次直接找出来了。 但是我今天要记录的就是怎样通过一次的遍历,就把中间的节点给找到! 其实,我们可以这样:
定义两个指针变量,当然是相应的结构体类型的啊,在判断多余两个节点的前提下,一个走一步,那么另一个就走两步,中间时刻判别走的快的那个节点指针变量,看看其是否已经走向终点,若到了终点,那么就输出走的慢的那个节点的值。这样就可以实现上诉要求;
代码实现如下: