字符串简单操作

鲲之召唤师想要判断截取掉一部分子串的剩余部分是否是回文串,你可以帮帮他吗?

输入格式:

输入在一行内,给出字符串s,在下一行给出即将被截取的子串的位置pos和长度n(字符串位置从0开始计数),其中pos和n保证合法。

输出格式:

如果被截取后的字符串s是回文串,请输出剩余的s。 如果不是,请输出被截取掉的子串。

输入样例1:

soWaterthisproblem
0 5
 

输出样例1:

soWat
 

输入样例2:

LevbreakkeL
3 6
 

输出样例2:

LeveL

注意输入,题目没有说输入没有空格

代码:
import java.util.*;

public class Main{
      public static void main(String[] args) {
            Scanner scan=new Scanner(System.in);
            String s=scan.nextLine();//注意输入
            int pos=scan.nextInt();
            int n=scan.nextInt();
            
            char a[] =s.toCharArray();
            char b[]=new char[a.length];
            String ss=s.substring(pos, pos+n);//字符串截取
            
            int k=0;
            for(int i=0;i<pos;i++)  b[k++]=a[i];
            for(int i=pos+n;i<a.length;i++) b[k++]=a[i];
            
            //回文串判断
            int mid=k/2;
            boolean flag=true;
            for(int i=0;i<mid;i++)
                     if(b[i]!=b[k-i-1]){
                              flag=false;
                              break;
                     }

            if(!flag || k==0){
                System.out.println(ss);
            }
            else{
                for(int i=0;i<k;i++) System.out.print(b[i]);
                System.out.println();
            }
    }
}

猜你喜欢

转载自www.cnblogs.com/qdu-lkc/p/12207233.html