posts - 71,  comments - 41,  trackbacks - 0
将给定字符从字符串中移除
如,text = "Could you write it down?", candidates = "ouit" -> text = "Cld y wre  dwn"
void RemoveChars(char *text, const char *candidates)
{
    
int src, dst;
    
bool *arrToBeRemoved = new bool[256]();
    
    
//explicit initialize, though new()
    for (src = 0; src < sizeof arrToBeRemoved / sizeof (bool); src++)
        arrToBeRemoved[src] 
= false;

    
for (src = 0; candidates[src] != '\0'; src++)
        arrToBeRemoved[candidates[src]] 
= true;


    src 
= dst = 0;
    
do 
    
{
        
if (!arrToBeRemoved[text[src]])
        
{
            text[dst
++= text[src];
        }


    }
 while(text[src++]);

}
posted on 2006-11-17 17:52 Charles 阅读(416) 评论(1)  编辑 收藏 引用 所属分类: 面试小算法

FeedBack:
# re: 移除字符
2008-08-21 13:46 | D_BOY
挑个小错:

for (src = 0; src < sizeof(arrToBeRemoved) / sizeof (bool); src++)

此处不应用sizeof(arrToBeRemoved),原因不用我说了吧。。。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

决定开始写工作日记,记录一下自己的轨迹...

常用链接

留言簿(4)

随笔分类(70)

随笔档案(71)

charles推荐访问

搜索

  •  

积分与排名

  • 积分 - 49663
  • 排名 - 452

最新评论

阅读排行榜

评论排行榜