`

程序员面试题精选100题(36)-在字符串中删除特定的字符

阅读更多
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。

事实上,我们并不需要在每次删除一个字符的时候都去移动后面所有的字符。我们可以设想,当一个字符需要被删除的时候,我们把它所占的位置让它后面的字符来填补,也就相当于这个字符被删除了。在具体实现中,我们可以定义两个指针(pFast和pSlow),初始的时候都指向第一字符的起始位置。当pFast指向的字符是需要删除的字符,则pFast直接跳过,指向下一个字符。如果pFast指向的字符是不需要删除的字符,那么把pFast指向的字符赋值给pSlow指向的字符,并且pFast和pSlow同时向后移动指向下一个字符。这样,前面被pFast跳过的字符相当于被删除了。用这种方法,整个删除在O(n)时间内就可以完成。

pSlow是改变后的指针,pFast是改变前的指针,可以把pSlow想象成另外一个数组,如果pFast遍历的那个元素符合要求就拷贝到pSlow中,如果不符合就不拷贝;只不过这里用一个数组实现的

分享到:
评论

相关推荐

    程序员面试题精选-输出一个字符串的所有子串

    [原]《程序员面试题精选》05.输出一个字符串的所有子串 题目:给定一个字符串,输出其所有子字符串,例如给定字符串abc,则输出 :a,b,c,d,ab,bc,cd,abc,bcd,abcd。 分析:今天看到csdn博客上面的一题,...

    程序员面试题精选100题【数据结构 /算法】

    由第三方作者花费大量时间收集并整理散落在茫茫网络中的面经,并从中精选出若干具有代表性的技术类的面试题展开讨论,希望能给读者带来一些启发 例如; 把二元查找树转变成排序的双向链表 设计包含min函数的栈 把...

    前端面试手册,中高端前端程序员面试必备

    - 字符串类笔试题 - JS笔试题 - 如何应对HR⾯ - 如何应对项⽬⾯ - 如何写简历 从前端基础,到网络协议,再到浏览器原理,前端工程化,前端流行框架,前端安全处理,工程化,算法相关,简历优化 适合人群: - 前端...

    JAVA程序员面试题

    JAVA程序员面试题 1.JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的...

    C/C++程序员面试指南.杨国祥(带详细书签).pdf

    本书以流行的面试题讲解为主要内容,介绍了C、C++语言基本概念,包括保留字、字符串、指针和引用、结构体、库函数等各个方面的基础知识,介绍了面向对象编程基本概念,包括如何实现继承、多态和封装等。还介绍了排序...

    程序员面试笔试合集,包括内存管理、数据结构和算法、字符串操作等常见题

    程序员面试笔试合集,包括FAQ,内存管理、数据结构和算法、字符串操作等常见题,绝对能在笔试面试中加分!chm格式,方便阅读!

    必备的常用面试题汇总

    常见算法笔试或面试题 笔试面试专栏:字符串 数组 vc题集 十道海量数据处理面试题与十个方法大总结 google全程面试题 其他一些公司的面试题

    JAVA程序员面试指南

    掌握面试的流程,在以后的面试中不会感到陌生,消除恐惧;怎样制作一个令人满意、访问量高的简历;去参加面试的时候着装上都需要注意什么;了解面试官会经常问的问题,以备不时之需;对于多个offer(录用通知)需要...

    反转字符串1

    程序员面试题精选100题(07)-翻转句子中单词的顺序[算法] 2007-03-08 09:20:52| 分类: 字符串 | 标签:编程 就业 找工作

    c/C++面试题大全--96页

    本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。  许多面试题看似简单,却需要深厚的基本功才能给出...

    Java程序员面试宝典 第4版 欧立奇

    本书是《Java程序员面试宝典》的第四版,在保留前第三版数据结构、字符串处理、Java程序设计等主干内容的基础上,更新了部分程序员面试题目,内容主要取材于2013年至2015年多家大公司的面试题,以反映第三版图书出版...

    JAVA笔试面试资料JDBC HTTP、JSP、Servlet、Struts面试题汇总资料.zip

    java工程师面试题大全-100%公司笔试题你都能碰到几个.docx Java开发工程师上机笔试题.docx Java开发求职面试题.docx Java开发笔试题.docx Java数据结构类面试题.docx Java数据结构题.docx Java笔试面试宝典.docx ...

    程序员面试攻略2

    程序员面试攻略 【目录】 <br>前言 第1章 求职过程 第2章 程序设计面试题的解答思路 第3章 链表 第4章 树和图 第5章 数组与字符串 第6章 递归算法 第7章 其他程序设计问题 第8章 与...

    程序员编程艺术:面试和算法心得.pdf

    第一章 字符串 o 1.0 本章导读 o 1.1 旋转字符串 o 1.2 字符串包含 o 1.3 字符串转换成整数 o 1.4 回文判断 o 1.5 最长回文子串 o 1.6 字符串的全排列 o 1.10 本章习题 第二章 数组 o 2.0 本章导读 o 2.1 寻找最小的...

    Scala程序员面试算法宝典.pdf

    常见面试算法题的Scala语言实现,其中包括 链表,字符串,数组,已经面试建议和大数据的算法问题,希望可以帮助读者提高编写scala代码的能力,增加解决常见算法题的能力。

    c++ 面试题 总结

    C++面试题 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。 private 也被集成,只事派生类没有访问权限而已 virtual可加可不加 子类的...

    c#经典教程/设计模式/笔试宝典/面试题(2/2)

    C#字符串和正则表达式参考手册.pdf C#教程.pdf C#编程从入门到精通.rar pdg格式 C#语言基础.doc C#高级编程(权威版).doc 一周学会C#.doc 北大青鸟C#培训课件.rar ppt 大牛们的C#编码习惯.txt 记事本的设计.ppt 各个...

    程序员面试攻略 part1(共2个)

    《程序员面试攻略》(Programming Interview Exposed: Secrets to Landing Your Next Job),Mongan,J.等著,杨晓云等译,北京,机械工业出版社,2003.3 目录: 第1章求职过程1 1.1 与公司进行接触1 1.2 筛选...

    程序员面试刷题的书哪个好-php-be-interview:php后端面试题

    程序员面试刷题的书哪个好 php面试相关 tip 这个文档只是一个提纲,以及一些可能的考点或者demo代码。列出了大概的技术栈,每一个点都需要花更多的时间去深入钻研,万不能只看一点点皮毛就去面试。而应该在广泛学习...

    程序员面试攻略 电子书

    第二章 程序设计面试题的解答题思路 第三章 链表 第四章 树和图 第五章 数组和字符串 第六章 递归算法 第七章 其它程序设计问题 第八章 与计数、测量、排序有关的智力题 第九章 与图形和空间有关的智力题 第十章 ...

Global site tag (gtag.js) - Google Analytics