知识大全 获取最大长度存在巅倒字符串的子串

Posted 长度

篇首语:欠伸展肢体,吟咏心自愉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 获取最大长度存在巅倒字符串的子串相关的知识,希望对你有一定的参考价值。

  /*******************************************************************************

  * @Description 字符串操作类

  * @Author

  * @Date / /

  ******************************************************************************/

  public class StringX

  /*

  * @Function 从指定字符串中获取最大长度存在巅倒字符串的子串

  * @Parm str String 源字符串

  * @Return 存在巅倒字符串的最大子串 存在多个时 仅返回最右边的一个

  */

  public String getMaxLenReverseString(String str)

  int startIndex = ;

  int lenOfReverseStr = ;

  int tmp = ;

  for ( int i = lenOfReverseStr; i <= str length(); i++ )

  tmp = getPosOfReverseString(str i);

  if ( tmp != )

  lenOfReverseStr = i;

  startIndex = tmp;

  str = str substring( tmp + lenOfReverseStr);

   else

  break;

  

  

  return startIndex == ? str substring( ) : str substring(startIndex startIndex + lenOfReverseStr);

  

  /*

  * @Function 从指定字符串中 获得最右边特定长度存在其巅倒字符串的子串的起始位置

  * @Parm str String 源字符串 将从中获取存在巅倒字符串的子串

  * @Parm lenOfReverseStr int 巅倒字符串的长度

  * @Return int 存在巅倒字符串的子串的起始位置 如不存在子串的巅倒字符串或参数错误 才返回

  */

  public int getPosOfReverseString(String str int lenOfReverseStr)

  if ( lenOfReverseStr > str length() || lenOfReverseStr < )

  return ;

  

  for ( int i = str length() lenOfReverseStr; i >= ; i )

  if ( str indexOf(getReverseString(str i lenOfReverseStr)) != )

  return i;

  

  

  return ;

  

  /*

  * @Function 从指定字符串中得到其子串的巅倒字符串

  * @Parm str String 源字符串 将从中获得巅倒字符串

  * @Parm s int 将被巅倒子串在源字符串中的起始位置

  * @Parm len int 将被巅倒子串的长度

  * @Return String 巅倒后得到的字符串 如参数错误就返回空字符串

  */

  public String getReverseString(String str int s int len)

  int tmp = s + len;

  if ( tmp > str length() || tmp < || s * len < )

  return ;

  

  StringBuilder reverseStr = new StringBuilder(len);

  for ( int i = s + len ; i >= s; i )

  reverseStr append(str charAt(i));

  

  return reverseStr toString();

  

  public static void main(String[] args)

  StringX objTest = new StringX();

  System out println(objTest getMaxLenReverseString( ARSTUVYWFDEVUTSRZ ));

  System out println(objTest getMaxLenReverseString( ABC ));

  System out println(objTest getMaxLenReverseString( DEFDEDJH ));

  System out println(objTest getMaxLenReverseString( HIJKLKJIH ));

  

cha138/Article/program/Java/hx/201311/25702

相关参考

知识大全 数据结构考研分类复习真题 第四章 答案[14]

  [题目分析]设以字符数组s表示串重复子串的含义是由一个或多个连续相等的字符组成的子串其长度用max表示初始长度为将每个局部重复子串的长度与max相比若比max大则需要更新max并用index记住其

知识大全 数据结构考研分类复习真题 第四章 串[10]

  第五部分算法设计  .设st为两个字符串分别放在两个一维数组中mn分别为其长度判断t是否为s的子串如果是输出子串所在位置(第一个字符)否则输出(注用程序实现)【南京航空航天大学九(分)】  .输入

知识大全 数据结构考研分类复习真题 第四章 答案[16]

  [题目分析]本题是字符串的插入问题要求在字符串s的pos位置插入字符串t首先应查找字符串s的pos位置将第pos个字符到字符串s尾的子串向后移动字符串t的长度然后将字符串t复制到字符串s的第pos

知识大全 数据结构考研分类复习真题 第四章 答案[12]

  五算法设计  [题目分析]判断字符串t是否是字符串s的子串称为串的模式匹配其基本思想是对串s和t各设一个指针i和ji的值域是mnj的值域是n初始值i和j均为模式匹配从s和t开始若s=t则i和j指针

知识大全 substring的参数及字符串判断

  字符串操作无疑在各种编程语言及平台上都是必不可少的功能相通但用法却存在微妙的区别比如java中取子串及相等的判断切入正题  substring  常用的用法包括  ()取索引为startidx之后

知识大全 数据结构复习总结第四章串

  第四章串  串及其运算  串的基本概念  串是由零个或多个字符组成的有限序列;  包含字符的个数称串的长度;长度为零的串称空串;由一个或多个空格组成的串称空白串;  串中任意个连续字符组成的子序列

知识大全 数据结构 5.2 实现串的置换操作

  实现置换操作的基本思想为由S和V生成一个新的串news首先将它初始化为一个空串然后重复下列两步直至查找不成功为止  )自pos位置起在串S中查找和T相同的子串  )将S中不被置换的子串(即从pos

知识大全 09年自考《数据结构》各章要点一[8]

  第四章串  串是零个或多个字符组成的有限序列  ·空串是指长度为零的串也就是串中不包含任何字符(结点)  ·空白串指串中包含一个或多个空格字符的串  ·在一个串中任意个连续字符组成的子序列称为该串

知识大全 数据结构串之串运算的实现

顺序串上的子串定位运算  子串定位又称串的模式匹配(PatternMatching)或串匹配(StringMatching)  在串匹配中一般将主串称为目标(串)子串称为模式(串)  假设T为目标串P

知识大全 asp 获取字符串中url地址函数

  asp教程获取字符串中url地址函数本文章提供了三款利用asp的正则获取字符串中url地址自定义函数哦三个方法的实现原理都是获取以开的url地址哦onerrorgotoz  dimurlkeyna