在别人博客上看到的,据说是阿里实习生电面的题目,自己拿来做了一下 。
题目如下:给定一个字符串,输出其所有连续子串,如:给定字符串为abcd,则要输出的其全部连续子串为:a,b,c,d,ab,bc,cd,abc,bcd,abcd。
#include <iostream>
using namespace std;
void suballstring(char *str)
{
if(!str)
return ;
int i,j,k;
int num =sizeof(str)/sizeof(char); //自动求寻列长度
for( i=0; i<num; i++)
{
for(j=i; j<num; j++)
{
for(k=i; k<=j; k++)
{
cout<<*(str+k);
}
cout<<' ';
}
cout<<endl;
}
}
int main()
{
char *str = "abcdef";
suballstring(str);
return 0;
}