程序员面试经典题集
文章平均质量分 70
yanglize
这个作者很懒,什么都没留下…
展开
-
【面试经典题之字符串】实现一个算法,确定一个字符串的所有字符是否全都不同。假设不允许使用额外的数据结构
实现一个算法,确定一个字符串的所有字符是否全都不同。假设不允许使用额外的数据结构。解题:首先我们假设这个字符串中全都是ASCII字符(如果不是需要另外讨论了)。因为ASCII字符集中总共有256个字符,所以我们可以知道如果字符串的长度超过了那么字符串中肯定有相同的字符。定义一个bool型大小为256的数组array,然后遍历输入的字符串,每遍历一个字符,令int型变量val等于该字符的原创 2016-03-08 18:05:00 · 2605 阅读 · 1 评论 -
【面试经典题之字符串】用C或C++写一个函数,实现反转一个null结尾的字符串
用C或C++实现void reverse(char* str)函数,即反转一个null结尾的字符串。解题:首先我们要知道字符串都是以NULL结尾的。使用一个char型end指针,找到NULL的时候再退一位,就找到该字符串的最后一位了。以abcd为例,找到最后一位时,str指向a,end指向d,然后交换str与end指向的字符,再将str++、end--,继续交换,当str与endl相遇时,原创 2016-03-08 20:25:15 · 1310 阅读 · 0 评论 -
【数据结构链表复习】
看到数据结构的题了,觉得先要把基础什么的复习一下,首先是链表~链表的基本操作:插入、删除、输出什么的都很重要。单链表节点定义://单链表节点类的定义template class Link{public:Elem element;Link *next;Link(const Elem& elemval, Link* nextval = NULL)//构造函原创 2016-03-09 21:49:14 · 724 阅读 · 0 评论 -
【数据结构二叉树复习】
1、节点的定义:template class TreeNode{private:Elem it;//数据域TreeNode* lc;//左孩子TreeNode* rc;//右孩子public:TreeNode(){lc = rc = NULL;}TreeNode(Elem e, TreeNode* l = NULL, TreeNode* r =原创 2016-03-10 00:01:04 · 541 阅读 · 0 评论 -
【面试经典题之链表】
1、编写代码,移除未排序链表中的重复节点(不使用临时缓冲区)答题:使用两个指针,一个指针指向当前节点,另一个指针检测当前节点之后的所有节点,当检测指针检测到与当前节点重复的节点时,删除该节点。void Deletesame(Node *head){ if(head==NULL) return; N原创 2016-03-11 20:03:49 · 834 阅读 · 0 评论