一直做题都是数组中点,直接算n/2,但是链表的中点怎么求出来,我还真没见过,只能说自己做题太少了。今天做leetcode上的题就遇到了,虽然说简单,但对我来说这是个新的知识点,我得记录一下,代码如下: [cpp] view plain copy ListNode* findMidNode(ListNode* head) { ListNode *slow, *fast; slow = head; fast = head; while (fast && fast->next) { slow = slow->next; fast = fast->next-next; } return slow; //这里注意的是,如果fast非空,说明 //奇数个节点,slow就是中间那个节点 //如下fast为空,那么slow就是是线偏右 //的那个节点 }