zoukankan      html  css  js  c++  java
  • 将一个字符串进行反转;获取一个字符串在另一个字符串中出现的次数;获取两个字符串中最大相同子串。

    1.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg”

     2.获取一个字符串在另一个字符串中出现的次数。 比如:获取“ab”在 “abkkcadkabkebfkabkskab”中出现的次数

     1 package string;
     2 
     3 /*
     4  * 1.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg”
     5  */
     6 public class Test1 {
     7     public static void main(String[] args) {
     8         String str2 = "abcdefg";
     9         String str3 = reverseString(str2, 2, 5);
    10         System.out.println(str3);
    11     }
    12 
    13     public static String reverseString(String str, int start, int end) {
    14         String str1 = str.substring(0, start);
    15         for (int i = end; i >= start; i--) {
    16             char c = str.charAt(i);
    17             str1 += c;
    18         }
    19         str1 += str.substring(end + 1);
    20         return str1;
    21     }
    22 }
     1 package string;
     2 
     3 public class Test2 {
     4     /*
     5      * 2.获取一个字符串在另一个字符串中出现的次数。 比如:获取“ab”在 “abkkcadkabkebfkabkskab”中出现的次数
     6      */
     7     public static void main(String[] args) {
     8         int i = getTime("abkkcadkabkebfkabkskab", "abk");
     9         System.out.println(i);
    10     }
    11 
    12     public static int getTime(String str1, String str2) {
    13         int count = 0;
    14         int len;
    15         while ((len = str1.indexOf(str2)) != -1) {
    16             count++;
    17             str1 = str1.substring(len + str2.length());
    18         }
    19         return count;
    20     }
    21 }
     1 package string;
     2 
     3 /*
     4  * 3.获取两个字符串中最大相同子串。比如:str1 = "abcwerthelloyuiodef";str2 = "cvhellobnm"
     5  */
     6 public class Test3 {
     7     public static void main(String[] args) {
     8         String str1 = "abcwerthelloyuiodef";
     9         String str2 = "cvhellobnm";
    10         StringBuilder str = getMaxSubString(str1, str2);
    11         System.out.println(str);
    12     }
    13 
    14     public static StringBuilder getMaxSubString(String str1, String str2) {
    15         String maxStr = (str1.length() > str2.length()) ? str1 : str2;
    16         String minStr = (str1.length() < str2.length()) ? str1 : str2;
    17         int len = minStr.length();
    18         StringBuilder sb=new StringBuilder();
    19         for (int i = 0; i < len; i++) {
    20             for (int x = 0, y = len - i; y <= len; x++, y++) {
    21                 String str = minStr.substring(x, y);
    22                 if (maxStr.contains(str)) {
    23                     sb.append(str);
    24                 }
    25             }
    26             if(sb.length()!=0){
    27                 return sb;
    28             }
    29         }
    30         return null;
    31     }
    32 
    33 }
  • 相关阅读:
    BZOJ 1040 (ZJOI 2008) 骑士
    BZOJ 1037 (ZJOI 2008) 生日聚会
    ZJOI 2006 物流运输 bzoj1003
    ZJOI 2006 物流运输 bzoj1003
    NOI2001 炮兵阵地 洛谷2704
    NOI2001 炮兵阵地 洛谷2704
    JLOI 2013 卡牌游戏 bzoj3191
    JLOI 2013 卡牌游戏 bzoj3191
    Noip 2012 day2t1 同余方程
    bzoj 1191 [HNOI2006]超级英雄Hero——二分图匹配
  • 原文地址:https://www.cnblogs.com/String-likainian/p/5824923.html
Copyright © 2011-2022 走看看