算法-倒置字符串


/**
*
* @description
* <p>String utils</p>
* @author Czp
* @version 1.0(2014-5-9)
*
*/
public class StringUtil {

/**
* @description:
* <p>反转字符串,如果参数为null或为空窜将返回原对象</p>
* @param str
* @return
*/
public static String reverseString(String str) {
if (str == null || str.isEmpty())
return str;
char[] arr = str.toCharArray();
int len = arr.length - 1;
for (int i = 0; i < len; i++, len--) {
char tmp = arr[i];
arr[i] = arr[len];
arr[len] = tmp;
}
return new String(arr);
}
}

算法-倒置字符串

时间: 2024-10-06 11:36:43

算法-倒置字符串的相关文章

[算法]将字符串中的*前置,非*字符相对位置不变

如ab**cd*e12变成 ****abcde12 char* foo(char* str, int length){ int i = length-1,j = length-1; while(i >= 0 && j >= 0){ while(i >= 0 && '*' != str[i]){ --i; } j = i - 1; while(j >= 0 && '*' == str[j]){ --j; } if(j >= 0){

算法之字符串专题

一.单串匹配问题 poj2406(求字符串的周期)利用next[ ]性质,ans=next[len]%(len-next[len])==0?next[len]/(len-next[len]):1; poj2752(求所有相同的前后缀)利用next[ ]性质,pos=next[pos](不断向前找) next[0]=-1: next[i]=max(相同前后缀) poj3461(kmp模板题) 二.多串匹配问题 poj3080.poj3450(求多串最长公共字串且字典序最小)二分,枚举首串(按字典序

kmp算法--求字符串子串--《数据结构》严蔚敏

// exam1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; void get_next(int* &next,char* s) { int j=0; int i=1; int len=strlen(s); next=(int*)malloc(len*sizeof(int)); memset(next,0,len*sizeof(int));

[算法]两字符串的最长子串

abractyeyt,dgdsaeactyey的最长子串为actyey const int maxSize = 100; char suffix[2][maxSize][maxSize]; int max_sub(char* s1, int len1, char* s2, int len2){ for(int r = 0; r < 2; ++r){ char* s; int len; if(0 == r){ s = s1; len = len1; } else{ s = s2; len = le

倒置字符串函数reverse

倒置字符串函数reverse:用于倒置字符串s中的各个字符的位置,如原来字符串中如果初始值为123456,则通过reverse函数可将其倒置为654321,程序如下:#include<stdio.h>#include<string.h>void reverse(char s[]){   int c,j,i; for(i=0,j=strlen(s)-1;i<j;i++,j--)//完成倒置功能,不包括字符串结束符'/0' {  c=s[i];  s[i]=s[j];  s[j]

一篇文章带你了解JavaScript中的基础算法之“字符串类”

作者 | Jeskson 来源 | 达达前端小酒馆 1 算法可以干什么呢?提高什么?有什么好处呢? 前端的同学需要提升编程核心内功,建立和健全算法知识体系,基础算法.数据结构.进阶算法,由浅入深讲解,透彻理解抽象算法,算法面试是关键一环,冲击大厂前端offer. 学习算法前掌握ES6哦!需要掌握单元测试的语言,Jest Jest is a delightful JavaScript Testing Framework with a focus on simplicity. It works wi

算法8 字符串相似度

题目: 题目来源:<编程之美> 把两个字符串变成相同的基本操作定义如下: 1. 修改一个字符(如把 a 变成 b) 2. 增加一个字符 (如 abed 变成 abedd) 3. 删除一个字符(如 jeddon 变成 jedon) 针对于 jeddon到jedon 只需要删除一个或增加一个 d 就可以把两个字符串变为相同.把这种操作需要的次数定义为两个字符串的距离 L, 则相似度定义为1/(L+1) 即距离加一的倒数.那么jeddon和jedon的相似度为 1/1+1=1/2=0.5 也就是所两

[小明学算法]6.字符串匹配算法---KMP

1.简介  字符串匹配就是看看那字符串b是不是字符串a的子串.常用的Knuth-Morris-Pratt 算法,又称KMP算法. 2.主要思想 当patter在某一位置与string匹配失败时,我们除了知道从string的这个位置进行匹配失败这个结果外,是否可以从前面的匹配中获得更多的信息呢.即当前匹配点匹配失败之后,向右滑动的距离是可以提前计算出来的. 3.举例 abcabcabcdef   --------- string abcabcdef         --------- patter

【字符串处理算法】字符串包含的算法设计及C代码实现【转】

转自:http://blog.csdn.net/zhouzhaoxiong1227/article/details/50679587 版权声明:本文为博主原创文章,对文章内容有任何意见或建议,欢迎与作者单独交流,作者QQ(微信):245924426. 一.需求描述 输入一个由数字构成的字符串,编写程序将该字符串转换为整数并输出. 例如,如果输入的字符串是“12345”,那么输出的整数是12345.注意,不要使用C语言的库函数atoi. 二.算法设计 我们都知道,如果给定一个整数123,那么其表示