坚持看完,结尾有思维导图总结
leetcode 链接
奇数的时候,跳到最后一个节点
偶数时,跳到 NULL节点
#include
struct ListNode* middleNode(struct ListNode* head){struct ListNode* fast = head;struct ListNode* slow = head;if(fast==NULL){return NULL;}//保证能够向后跳while(fast != NULL &&fast->next != NULL ){fast = fast->next->next;slow = slow->next;}return slow;}
注意要判断 fast 退出的判断
牛客网链接
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {struct ListNode* front = pListHead;struct ListNode* after = pListHead;//先走 k 步while(k){if(front == NULL){return NULL;}front = front->next;k--;}//slow 跟上while(front){front = front->next;after = after->next;}return after;
}
注意 : front 在k步内走完链表的可能
希望大家看完,能够有所收获
如果有错误,请指出我一定虚心改正
动动小手点赞
鼓励我输出更加优质的内容
下一篇:三端sonar记录