100-97

97.第1组微软较简单的算法面试题
1.编写反转字符串的程序,要求优化速度、优化空间。 
2.在链表里如何发现循环链接?
3.编写反转字符串的程序,要求优化速度、优化空间。
4.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。 
5.写一个函数,检查字符是否是整数,如果是,返回其整数值。

(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)

思路:

1.翻转字符串,这个程序还是比较基础的。时间复杂度为o(n),空间复杂度为o(1)。

void converse(char *index,int len){
     if(len <= 1){
            return ;
     }
     int i = 0;
     while(i < len/2){
             char temp = index[i];
             index[i] = index[len-1-i];
             index[len-1-i] = temp;
             ++i;
     } 
}
2.。。。

3.同一

4.洗牌算法,这个题算是比较开放的。可以集思广益。。

5.就是判断一个字符的asc码的范围,然后就能判断了。。。这是我能想到的最直接的解法。

你可能感兴趣的:(100-97)