08 2012 档案
摘要:程序员面试精选类博客题目出自何海涛的网易博客,本博客只记录自己的实现,以供学习。传送门:程序员面试题精选100题(19)-反转链表[数据结构]题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};分析:可以将链表表示为如下形式:逆置操作相当于每次操作pCur节点,并将其next指向pPre,这样直到链表尾。个人实现:无头节点的链表反转实现://输入一个链表的头结点,反转该链表,并返回反转后链表的头结点ListNode* ReverseL...
阅读全文
摘要:class Student{public: int getAge() { return m_age; } int getAge() const { return m_age; } void setAge(int age) { m_age = age; } void setAge(int age) const { //此处报错,提示左值不是const //m_age = age; }public: int m_age;};众所周知,在相同参数及相同名...
阅读全文
摘要:程序员面试精选类博客题目出自何海涛的网易博客,本博客只记录自己的实现,以供学习。传送门:程序员面试题精选100题(15)-含有指针成员的类的拷贝题目:给出了一个模板类Array的声明与实现,问该代码有什么问题,如何解决。View Code template<typename T> class Array{public: Array(unsigned arraySize):data(0), size(arraySize) { if(size > 0) data = new T[size]; } ~Ar...
阅读全文
摘要:程序员面试精选类博客题目出自何海涛的网易博客,本博客只记录自己的实现,以供学习。传送门:程序员面试题精选100题(14)-圆圈中最后剩下的数字[算法]题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。分析:本题就是有名的约瑟夫环问题。既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构来模拟这个圆圈。在常用的数据结构中,我们很容易想到用环形列表。我们可以创建一个总共有m个数字的环形列表,然后每次从这
阅读全文
浙公网安备 33010602011771号