摘要:
将链表分成三段,中间一段reverse后再链接。 链表中节点位置从1开始计数。 注意m可能为1,所以要加上if(last == start) head = end; 不然会丢失数据,因为reverse后head是reverse一段的最后一节点,只返回head的话head之前的节点全部丢失。 4ms 阅读全文
摘要:
ver0: 最简单的思路,得到中间节点,把这之后的节点放入stack中,再从head开始,把stack.top()插入。 具体解释:得到slow后,分两种情况考虑,链表长度为偶,slow为前半段的最后一个节点;链表长度为奇,slow为正中间节点的前一个节点。两种情况下reoder后slow->nex 阅读全文
摘要:
1 ListNode* reverseList(ListNode* head){ 2 if (head==NULL || head->next==NULL) return head; 3 ListNode *pre=head, *cur=pre->next, *post; 4 pre->next = NULL; 5 while (cur!=NULL){ ... 阅读全文
摘要:
输出数字a,保留两位小数 阅读全文
摘要:
得到带空格的string输入 阅读全文
摘要:
getMid函数中,fast一次走2步,slow一次走1步,因此假设全长len,len偶时,slow到达前半段的最后一个节点,len奇时,slow到达正中间的节点,两种情况中,slow->next均为后半段的起始节点。 阅读全文