数据结构与算法
书写&青春
这个作者很懒,什么都没留下…
展开
-
判断链表中是否有环
一、简述 判断一个链表中是否存在环,使用快慢指针,时间复杂度O(n),空间复杂度O(1)。 二、代码实现 bool hasCycle(ListNode *head) { if(NULL == head){ return false; } ListNode *pFirst = head; ListNode *pSecond = head; while((NULL != pFirst->next)原创 2020-11-17 22:46:14 · 117 阅读 · 0 评论 -
单链表反转
一、简述 完成对单向链表的反转。固定维护两个指针,时间复杂度为O(n),空间复杂度为O(1)。 二、代码实现 ListNode* ReverseList(ListNode* pHead) { if((NULL == pHead) || (NULL == pHead->next)){ return pHead; } ListNode *prev = pHead; ListNode *pnext = pHead-&原创 2020-11-17 22:39:33 · 113 阅读 · 0 评论