代码改变世界

随笔分类 -  字符串系列文章

面试题10:去除字符串中的重复字符

2016-03-22 21:33 by Keiven_LY, 20701 阅读, 收藏, 编辑
摘要: 题目描述: 设计算法并写出代码移除字符串中重复的字符,不能使用额外的缓存空间。注意:可以使用额外的一个或两个变量,但不允许额外再开一个数组拷贝。进一步地,为你的程序写测试用例。 解题思路: 这道题目其实是要你就地(in place)将字符串中重复字符移除。你可以向面试官问清楚,不能使用额外的一份数组 阅读全文

面试题9:判断字符串中的字符是否唯一

2016-03-22 20:58 by Keiven_LY, 1369 阅读, 收藏, 编辑
摘要: 题目描述: 实现一个算法来实现判断字符串中的字符是否唯一(即没有重复字符)。注意,不能适用额外的数据结构,只能适用基本数据结构。 解题思路: 首先,问询面试官,构成字符串的字符集有多大?是ASCII字符,还是只是26个字母?还是有更大的字符集,对于不同的情况,我们可能会有不同的解决方案。 该算法的时 阅读全文

面试题8:字符串的空格处理

2016-03-22 09:34 by Keiven_LY, 1153 阅读, 收藏, 编辑
摘要: 一、字符串中的空格替换 题目描述:请实现一个函数,把字符串中的每个空格替换成“%20”。例如:输入“We are happy.",则输出”We%20are%20happy." 题记: 在网络编程中,如果URL参数中含有特殊字符,如空格、'#'等,可能导致服务器端无法获得正确的参数值。就需要将这些特殊 阅读全文

字符串系列算法精选

2016-03-21 21:02 by Keiven_LY, 720 阅读, 收藏, 编辑
摘要: 本系列文章均来源于网络,主要用于自己的学习,巩固,如有侵权请告知!!! 主要来源: 《剑指offer》 《编程之法-面试和算法心得》 快课网: http://www.cricode.com/3282.html 微软博客大牛:http://blog.csdn.net/morewindows/artic 阅读全文

面试题6:字符串的包含

2016-03-21 20:47 by Keiven_LY, 444 阅读, 收藏, 编辑
摘要: 题目描述 给定一长字符串a和一短字符串b,请问,如何最快判断出b中的所有字符是否都在a中?请编写函数bool StringCOntain(string &a, string &b)实现此功能。 举例: 如果字符串a是”ABCD”,字符串b是”BAD”,则返回true,因为字符串b中的所有字符都在字符 阅读全文

面试题7:字符串的全排列

2016-03-21 20:47 by Keiven_LY, 989 阅读, 收藏, 编辑
摘要: 题目描述 输入一个字符串,打印出该字符串中字符的所有排列。例如,输入字符串”abc”,则输出由字符’a’,’b’,’c’所能排列出来的所有字符串”abc”,”acb”,”bac”,”bca”,”cab”和”cba”。 方法一:递归实现 基本思想: 从字符串中选出一个字符作为排列的第一个字符,然后对剩 阅读全文

面试题5:回文字符串的判断

2016-03-21 20:45 by Keiven_LY, 805 阅读, 收藏, 编辑
摘要: 题目描述 给定一个字符串,如何判断这个字符串是否是回文字符串? 方法一:从两头向中间扫 基本思想:定义两个指针分别指向字符串的头和尾,然后让这两个指针同时向字符串的中间扫描,扫描过程中,如果头和尾指针所指的字符至始至终都一样,则说明该字符串为回文字符串,只要有一次不一样,就说明该字符串不是回文字符串 阅读全文

面试题4:单词翻转

2016-03-21 20:43 by Keiven_LY, 388 阅读, 收藏, 编辑
摘要: 题目描述 编写一个函数将字符串“I am from Beijing”,翻转成“Beijing from am I”,即将字符串中各个单词的位置倒置,但不改变各个单词本身。 方法一:先翻转单词,再整体翻转 方法二:先整体翻转,再翻转单词 测试程序: 注意: 程序中while(*ptr++!='\0') 阅读全文

面试题3:字符串的旋转

2016-03-21 20:38 by Keiven_LY, 334 阅读, 收藏, 编辑
摘要: 题目描述 给定一个字符串,要求将字符串前面的若干字符移到字符串的尾部。比如:将字符串“abcdef”的前3个字符’a’,’b’,’c’移到字符串的尾部,则原字符串将变为“defabc”。请写一个函数来实现此功能。 方法一:蛮力移位 基本思想:将需要移动的字符一个一个移动到字符串的尾部。 假设字符串s 阅读全文

面试题2:实现字符串逆序

2016-03-21 20:35 by Keiven_LY, 3014 阅读, 收藏, 编辑
摘要: 题目描述 给定一个字符串s,将s中的字符顺序颠倒过来,比如s="abcd",逆序后变成s="dcba"。 方法一:普通逆序 基本思想:直接分配一个与原字符串等长的字符数组,然后反向拷贝一下即可 方法二:原地逆序 基本思想:原地逆序意味着不允额外分配空间,就是将字符串两边的字符逐个交换。如给定字符串" 阅读全文

库函数strlen、strcpy、strcat、strtr的实现

2016-03-21 20:23 by Keiven_LY, 752 阅读, 收藏, 编辑
摘要: 1、题目描述:实现一个函数,将字符串str2复制给字符串str1 方法一:使用库函数strcpy 方法二:不允许使用库函数 2、题目描述:实现一个函数,求字符串的长度 方法一:使用库函数strlen 方法二:不允许使用库函数 3、题目描述:实现一个函数,将两个字符串相连接 方法一:使用库函数strc 阅读全文

面试题1: 统计某个字符在目标字符串中出现的次数

2016-02-17 21:43 by Keiven_LY, 8565 阅读, 收藏, 编辑
摘要: 题目描述:统计某个字符在目标字符串中出现的次数 解题思路: 方法1:循环 逐个比较,统计次数 方法2:递归 递归也是一种特殊的循环 如果采用递归函数的思路来解决这个问题,那么整个统计过程就变为:从目标字符串的开始位置查找这个字符,如果找到,那么字符出现的次数就成了已经找到的这一次加上在剩下的字符串中 阅读全文

字符串的表现形式

2013-09-26 11:02 by Keiven_LY, 911 阅读, 收藏, 编辑
摘要: 参考博客:http://blog.163.com/ocean_china@126/blog/static/1851702020080410502075/) 字符数组 string是字符数组,代表的是字符数组的首地址,string[4]代表数组中序号为4的元素(v),实际上string[4]就是*(s 阅读全文