2014年12月16日
摘要: 解析:设立两个指针,p每次移动两下,q每次只移动一下,那么当p指向最后一个节点的时候,那么q就是中间的节点了ListNode* FindMidNode(ListNode* pHead){ if (pHead == NULL) { return NULL; } if (pHead->m_pNext ... 阅读全文
posted @ 2014-12-16 11:46 飞豹冲天 阅读(194) 评论(0) 推荐(0)
摘要: 如果有两个头结点指针,一个走的快,一个走的慢,那么若干步以后,快的指针总会超过慢的指针一圈。bool IsCycleList(ListNode* pHead){ if(pHead== NULL) return false; if (pHead->m_pNext == NULL) { retur... 阅读全文
posted @ 2014-12-16 11:44 飞豹冲天 阅读(144) 评论(0) 推荐(0)
摘要: 题目:输入一个链表,输出链表中倒数第k个节点,为了符合大多数人的习惯,本题从1开始计数,即链表的尾巴节点是倒数第一个节点。方法1:先遍历链表得到链表的个数n,倒数第k个节点就是n-k+1再遍历一次链表,找到第n-k+1个节点就是倒数第k个节点;这种方法遍历两次链表;方法2:先遍历链表把链表压入一个栈... 阅读全文
posted @ 2014-12-16 10:39 飞豹冲天 阅读(375) 评论(0) 推荐(0)
摘要: 快速排序的思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。主要思路:先从后面开始遍历找到比key值小的一个值,把这个值放到key的前面,再从前... 阅读全文
posted @ 2014-12-16 09:47 飞豹冲天 阅读(1294) 评论(0) 推荐(0)