1.2011.8.15微软实习电面

(1)把一个字符串中的所有abc替换为a。要求时间复杂度O(n)。

#include <stdlib.h>

#include <string.h>
int main()
{
char a[] = "ddabc7abcabcccc";//不能是char *p=“ddabc7abcabcccc”
char *p=a;
char *pflag=NULL;//记录当前p只要的内容要移动到的位置
printf("%d\n",strlen(a));
printf("%d\n",sizeof(a));
  printf("%c\n",*(p+12));
while(*p != '\0')
{
    if(*p=='a'&& *(p+1)=='b'&& *(p+2) =='c')
    {
       if(!pflag)
       {
          pflag = p+1;
       }
       else
       {
       *pflag='a';
       }
       p = p+3;
    }
    else
    {
        if(pflag)
        {
          *pflag=*p;
          p++;
          pflag++;
        }
        else
        {
         p++;
        }
    }
}
*pflag='\0';//最后字符串一定要加字符串结束符'\0'
printf("%s\n",a);
system("PAUSE");
}

注:开始定义字符串是要使用char  a[]而不是char *a。因为若char *a指向常量字符串,则不能对字符串进行修改。

详细解释见:和

(2)如何测试网页搜索

这个就要考察自己的思考和表达能力了。

比如关键字匹配,搜索内容的排序,还有中英文问题等。这里有个测试搜索引擎的