2016年7月5日

赋值运算符函数

摘要: 题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。 关注如下几点:是否把返回值类型声明为该类型的引用,并在函数结束前返回实例的自身引用。是否把传入的参数的类型声明为常量引用。是否释放实例自身的内存。是否判断传入的参数和当前的实例是不是同一个实例。 阅读全文

posted @ 2016-07-05 13:30 三颗心 阅读(483) 评论(0) 推荐(0) 编辑

2016年7月4日

扑克牌顺子

摘要: 题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。 思路:把数组排序,统计数组中0的个数,统计排序之后的数组相邻数字之间的空缺总数。如果空缺的总数小于或者等于0的个数,那么这个数组就是连续的; 阅读全文

posted @ 2016-07-04 22:00 三颗心 阅读(639) 评论(0) 推荐(0) 编辑

2016年7月2日

翻转单词顺序VS左旋转字符串

摘要: 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。 思路:首先将整个句子按字符翻转,然后再将其中每个单词的字符旋转。 题目:定义字 阅读全文

posted @ 2016-07-02 22:22 三颗心 阅读(494) 评论(1) 推荐(0) 编辑

和为S的两个数字VS和为S的连续正数序列

摘要: 题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。 思路:最初我们找到数组的第一个数字和最后一个数字。首先定义两个指针,第一个指针指向数组的第一个(也就是最小的)数字,第二个指针指向数组的最后一个(也就是最大的)数字。当两 阅读全文

posted @ 2016-07-02 21:33 三颗心 阅读(716) 评论(0) 推荐(0) 编辑

数组中只出现一次的数字

摘要: 题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 思路:先看一个简单的实例,若是找数组中只出现一次的一个数,其它的数都出现两次,直接对数组元素进行位异或就可以得到数组中只出现一次的一个数。本题中,找数组中只出现一次的两个数,则要将数组分成2个子数 阅读全文

posted @ 2016-07-02 20:09 三颗心 阅读(798) 评论(0) 推荐(0) 编辑

判断一个二叉树是否是平衡二叉树

摘要: 题目:判断一个二叉排序树是否是平衡二叉树 思路:利用递归判断左右子树的深度是否相差1来判断是否是平衡二叉树。 阅读全文

posted @ 2016-07-02 18:13 三颗心 阅读(2736) 评论(0) 推荐(0) 编辑

二叉树的深度

摘要: 题目:输入一棵二叉树的根节点,求该树的深度。从根节点到叶子结点一次经过的结点形成树的一条路径,最长路径的长度为树的深度。根节点的深度为1。 思路:如果根节点为空,则深度为0,返回0,递归的出口,如果根节点不为空,那么深度至少为1,然后我们求他们左右子树的深度,比较左右子树深度值,返回较大的那一个,通 阅读全文

posted @ 2016-07-02 15:48 三颗心 阅读(310) 评论(0) 推荐(0) 编辑

数字在排序数组中出现的次数

摘要: 题目:统计一个数字在排序数组中出现的次数。例如,输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4. 思路1:该解法是最直观的解法,可以先使用二分查找先找到这个元素,然后分别向左和向右遍历,把左右相同的元素的个数都计算出来。 思路2:使用二分查找的拓展, 阅读全文

posted @ 2016-07-02 13:58 三颗心 阅读(957) 评论(0) 推荐(0) 编辑

2016年7月1日

两个链表第一个公共结点

摘要: 题目:输入两个链表,找出它们的第一个公共节点。链表的定义如下: 思路1:采用蛮力的方法:在第一个链表上顺序遍历每个节点,每遍历到一个节点的时候,在第二个链表上顺序遍历每个节点。如果第二个链表上的节点和第一个链表上的节点一样,就说明两个链表在节点上重合,于是就找到了公共的节点。而通常蛮力并不是好的方法 阅读全文

posted @ 2016-07-01 22:10 三颗心 阅读(1117) 评论(0) 推荐(0) 编辑

第一次只出现一次的字符

摘要: 题目:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出‘b’。 思路1:遍历,也就是从头开始取字符串中的一个字符,将其与其后的所有字符比较,如果有相同的字符,那么就证明它不是只出现一次的字符。当第一次出现遍历完其后字符并且没有重复时,表明这个字符就是“第一个只出现一次的字符 阅读全文

posted @ 2016-07-01 20:17 三颗心 阅读(1887) 评论(0) 推荐(0) 编辑

导航