关于String的几道算法题

2021/6/26 1:27:22

本文主要是介绍关于String的几道算法题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

关于String的几道算法题

package com.yicurtain.CommonClass;

import org.junit.Test;

//将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”
//思路:将“abcdefg”分解为“ab”+“cdef”+“g”,然后将“cdef”进行反转。
public class StringDemo {

    public String reverse(String str,int start,int end){
        StringBuilder builder = new StringBuilder(str.length());
        builder.append(str.substring(0,start)) ;//ab

        for (int i=end;i>=start;i--){
            builder.append(str.charAt(i));//abfedc
        }
        builder.append(str.substring(end+1));//abfedcg

        return  builder.toString();

    }
    @Test
    public  void testreverse(){
        String str="abcdefg";
        String rev=reverse(str,2,5);
        System.out.println(rev);
    }

}

package com.yicurtain.CommonClass;

import org.junit.Test;

//获取一个字符串在另一个字符串中出现的次数。
//比如:获取“ ab”在 “abkkcadkabkebfkabkskab” 中出现的次数
//思路:1.使用indexOf()方法,返回第一个"ab"后
//     2.截取第一次包含substr后 的 一串字符串,重复操作1
//     3.返回count
public class StringDemo1 {
    public int getCount(String mainstr,String substr){
        int mainstrLength=mainstr.length();
        int substrLength=substr.length();
        int count=0;
        int index;
       if (mainstrLength>=substrLength){

             while ((index=mainstr.indexOf(substr))!=-1){

                count++;
                mainstr=mainstr.substring(index+substrLength);//截取第一次包含substr后 的 一串字符串

            }
           return count;

       }else{
        return 0;

       }




    }
    @Test
    public void testgetCount(){
        String mainstr="abkkcadkabkebfkabkskab";
        String substr="ab";
        int count=getCount(mainstr,substr);
        System.out.println(count);
    }
}



这篇关于关于String的几道算法题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程