2014年11月16日

在O(1)时间内删除链表结点 【微软面试100题 第六十题】

摘要: 题目要求: 给定链表的头指针和一个结点指针,在O(1)时间删除该结点。 参考资料:剑指offer第13题。题目分析: 有几种情况: 1.删除的结点是头结点,且链表不止一个结点; 2.删除的结点是头结点,且链表只有一个结点; 3.删除的结点是尾结点,且链表不止一个结点; ... 阅读全文

posted @ 2014-11-16 11:49 tractorman 阅读(333) 评论(0) 推荐(0)

不能被继承的类 【微软面试100题 第五十九题】

摘要: 题目要求: 用C++设计一个不能被继承的类。 参考资料:剑指offer第48题。题目分析: 方法1:把构造函数设为私有函数,定义共有的静态函数来创建和释放类的实例; 方法2:利用虚拟继承和友元;代码实现: //把构造函数设为私有函数,定义共有的静态函数来创建和释放类的实例class Tem... 阅读全文

posted @ 2014-11-16 11:11 tractorman 阅读(142) 评论(0) 推荐(0)

从尾到头输出链表 【微软面试100题 第五十八题】

摘要: 题目要求: 输入一个链表的头结点,从尾到头反过来输出每个结点的值。 参考资料:剑指offer第5题。题目分析: 可以用栈或者递归。 栈把链表结点从头到尾依次存储,这样最终栈顶就是链表尾部。 递归,对于当前结点,可以用递归输出当前结点之后的结点,再输出当前结点。代码实现: #include... 阅读全文

posted @ 2014-11-16 10:55 tractorman 阅读(159) 评论(0) 推荐(0)

导航