微软公司等数据结构+算法面试100题-63题解
2012-11-21 09:09
288 查看
微软公司等数据结构+算法面试100题(第1-100题)
63.在字符串中删除特定的字符(字符串)。
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
例如,输入”They are students.”和”aeiou”,
则删除之后的第一个字符串变成”Thy r stdnts.”。
分析:这是一道微软面试题。在微软的常见面试题中,与字符串相关的题目占了很大的一部分,
因为写程序操作字符串能很好的反映我们的编程基本功。
看了前人的解法,加深了对快慢指针的理解
/article/8338868.html
然后自己写了个简单版本的,省略了将字符转换成索引后快速将当前字符与待删除序列匹配,从而判断其是否需要删除的过程。
这里假设待删除的字符串是t ="there are ", 要把其中的字符 'e' 删掉。代码如下:
输出结果是" thr ar"
63.在字符串中删除特定的字符(字符串)。
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
例如,输入”They are students.”和”aeiou”,
则删除之后的第一个字符串变成”Thy r stdnts.”。
分析:这是一道微软面试题。在微软的常见面试题中,与字符串相关的题目占了很大的一部分,
因为写程序操作字符串能很好的反映我们的编程基本功。
看了前人的解法,加深了对快慢指针的理解
/article/8338868.html
然后自己写了个简单版本的,省略了将字符转换成索引后快速将当前字符与待删除序列匹配,从而判断其是否需要删除的过程。
这里假设待删除的字符串是t ="there are ", 要把其中的字符 'e' 删掉。代码如下:
输出结果是" thr ar"
#include<iostream> using namespace std; int main(void) { char t[]="there are"; int i=0,j=0; while(t[i]!='e' && t[i]!='\0')//找到第一个'e'出现的位置 i++; j=i;i++; while(t[i]!='\0'){//快慢标记去掉字符'e',并将其它字符顺序前移 if(t[i]!='e'){ t[j++]=t[i++]; } else i++; } t[j]='\0'; cout<<t<<endl; return 0; }
相关文章推荐
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题2010版全部出炉
- 微软公司等数据结构+算法面试100题2010版全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题2010版全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题2010版全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题2010版全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 2010微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 微软公司等数据结构+算法面试100题-第1题