TE社区 > 职场生活
客服QQ:1206116161

阿里的一道面试题(打印字符串里面的所有连续子串)

煎熬与共i 于 2016-05-17 23:12:00 创建话题
(3649)
(1)
举报
/**
  * 打印遗传字符串中所有的连续子串
  * @param var
  */
 private static void printContinueString(String var,StringBuilder sbd)
 {
  char[]c=var.toCharArray();
  char first='\0';
  sbd.append(c[0]);
  int i=1;
  boolean f=false;
  for(;i<c.length;i++){
   first=c[i-1];
   //在连续的情况下假如字符串累加器里面
   if(first-c[i]==-1)
    sbd.append(c[i]);
   else{
    if(sbd.length()>=2)
    {
       if(f)
       printAll((c[i-sbd.length()-1]+sbd.toString()).toCharArray(),0);
       else
    printAll(sbd.toString().toCharArray(),0);
       sbd.delete(0, sbd.length());
       f=true;
    }
   }
  
  
  }
  printAll((c[i-sbd.length()-1]+sbd.toString()).toCharArray(),0);
 }

 
 
 
 private  static void printAll(char []c,int index){
  if(index==c.length)
   return;
  String s="";
 
  for(int i=index;i<c.length;i++){
   s+=c[i];
   System.out.println(s);
   
  }
  printAll(c,index+1);
 }
 public static void main(String[] args) {
  
  printContinueString("abcd135efgh4xyz",new StringBuilder());
  //printLxString("12345---abcd-----efgh--opqrstuvwxyz",new StringBuilder());
  }


  • TE_6714
    - 2017年04月27日 (0)

    有点搬不动我是小白,可以上论坛 去搜索一下你想要的答案

最后登录:2018-11-14 04:43
我是个安静的疯子!!!
扫码关注TE官方微博 扫码关注TE官方微博
举报X