`
zhou_hong_liang
  • 浏览: 97374 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

字符串翻转

    博客分类:
  • JAVA
阅读更多
public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  System.out.println(fz("abcdefg"));
 }

 /**
  * 输入字符串abc输出字符创cba
  * 
  * @param s
  * @return
  */
 public static String fz(String s) {
  StringBuffer ss = new StringBuffer();
  String st[] = new String[s.length()];
  for (int i = 0; i < s.length(); i++) {
   st[i]=s.substring(i ,i+1);
  }
  for(int j=st.length-1;j>=0;j--){
   ss.append(st[j]);
  }
  return ss.toString();
 }
}

分享到:
评论
24 楼 wordall1101 2009-03-27  
只想过用StringBuffer.reverse()。长见识了。。。。。
23 楼 --Ewan-- 2008-10-25  
longrm 写道
public static String turn(String str) {
char[] result = str.toCharArray();
for(int i=0; i<str.length()/2; i++) {
result[i] = str.charAt(str.length()-i-1);
result[str.length()-1] = str.charAt(i);
}
return new String(result);
}

很赞!同赞2楼
22 楼 toeo 2008-10-23  
color4you 写道
  StringBuffer sb = new StringBuffer(str);
  return sb.reverse();


这个简单..效率也高..
21 楼 pyp 2008-10-22  
很好很很强大
20 楼 dingchenye 2008-10-22  
不是啊,最终咱得推荐一个简单易用的不是,我推荐使用:

StringBuffer sb = new StringBuffer(str);  
return sb.reverse();

简单易懂!
19 楼 chenahiwu 2008-10-21  
递归的
public static String reverse1(String str)
	{
		if(str.length()>0) {
			return str.substring(str.length()-1)+reverse1(str.substring(0,str.length()-1));
		}
		return "";
	}
18 楼 xyh 2008-10-21  
我的代码,不知道和楼上的楼上的.....N次楼上有啥区别?
    String str = new String("abc");
    char[] chararray = str.toCharArray();
    StringBuffer sb = new StringBuffer();
    for(int i=chararray.length-1;i>=0;i--){
    	sb.append(chararray[i]);
    }
    System.out.println(sb.toString());
17 楼 liliugen 2008-10-21  
StringBuffer sb = new StringBuffer(str);  
return sb.reverse(); 
不过目前一般最好用:StringBuilder
StringBuilder sb = new StringBuilder("abcdefg"); 
return  sb.reverse() ;
16 楼 martinyuan 2008-10-21  
color4you 写道
  StringBuffer sb = new StringBuffer(str);
  return sb.reverse();

15 楼 zhaobohao 2008-10-20  
<< >>呵呵,这两个运算符,都快忘记了,呵,.....什么时候也拿来用用...
14 楼 weidewei 2008-10-20  
color4you 写道
  StringBuffer sb = new StringBuffer(str);
  return sb.reverse();

最简单的就是最好的!
13 楼 wu_jiaxiang 2008-10-20  
superjavason 写道
lz的实现方式是效率上应该是最差的了

new StringBuilder("ab").reverse().toString();
搞定
12 楼 superjavason 2008-10-20  
lz的实现方式是效率上应该是最差的了
11 楼 cnsc1551 2008-10-20  
longrm 写道
public static String turn(String str) {
char[] result = str.toCharArray();
for(int i=0; i<str.length()/2; i++) {
result[i] = str.charAt(str.length()-i-1);
result[str.length()-1] = str.charAt(i);
}
return new String(result);
}



请确认你的代码是正确的在贴出来,谢谢!!!
10 楼 liliugen 2008-10-20  
longrm 写道

       public static String turn(String str) {
char[] result = str.toCharArray();
for(int i=0; i<str.length()/2; i++) {
result[i] = str.charAt(str.length()-i-1);
result[str.length()-1] = str.charAt(i);
}
return new String(result);
}


上面的有点错,应该是这样的:  result[str.length()-i-1] = str.charAt(i);
9 楼 sigon 2008-10-16  
从没想过这个问题还有这么多解决方式,长进识了
8 楼 liping 2008-10-16  
color4you 写道
  StringBuffer sb = new StringBuffer(str);
  return sb.reverse();


看了StringBuffer  中的reverse的源码  拿来用啊!
   public  static  String Reverse3(String str)
	{
	    int count;
		count=str.length();
		char value[]= str.toCharArray(); 
		boolean hasSurrogate = false;
		int n = count - 1;
		for (int j = (n-1) >> 1; j >= 0; --j) {
		    char temp = value[j];
		    char temp2 = value[n - j];
		    if (!hasSurrogate) {
			hasSurrogate = (temp >= Character.MIN_SURROGATE && temp <= Character.MAX_SURROGATE)
			    || (temp2 >= Character.MIN_SURROGATE && temp2 <= Character.MAX_SURROGATE);
		    }
		    value[j] = temp2;
		    value[n - j] = temp;
		}
		if (hasSurrogate) {
		    // Reverse back all valid surrogate pairs
		    for (int i = 0; i < count - 1; i++) {
			char c2 = value[i];
			if (Character.isLowSurrogate(c2)) {
			    char c1 = value[i + 1];
			    if (Character.isHighSurrogate(c1)) {
				value[i++] = c1;
				value[i] = c2;
			    }
			}
		    }
		}
		return new String(value); 
	}

7 楼 zkaizz 2008-10-16  
public static void TurnString() {
	String a ="abcdefg" ;
	StringBuffer b = new StringBuffer();
	for(int i=a.length()-1;i>=0;i--){
		b.append(a.charAt(i));
	}
	System.out.println(b.toString());
}

6 楼 liping 2008-10-16  
longrm 写道

       public static String turn(String str) {
char[] result = str.toCharArray();
for(int i=0; i<str.length()/2; i++) {
result[i] = str.charAt(str.length()-i-1);
result[str.length()-1] = str.charAt(i);
}
return new String(result);
}


这个好!
5 楼 color4you 2008-10-16  
  StringBuffer sb = new StringBuffer(str);
  return sb.reverse();

相关推荐

    c语言写的字符串翻转算法

    本文将深入探讨C语言中的字符串翻转算法,这是一个经典的编程问题,通过解决这个问题,我们可以更好地理解C语言的指针操作。 首先,我们要知道在C语言中,字符串是由字符数组表示的,通常以空字符'\0'作为结束标志...

    字符串翻转(使用类库方法和stack实现)

    在编程领域,字符串翻转是一项常见的操作,它涉及到将一个字符串的字符顺序反转。这里我们将深入探讨两种实现方式:使用类库方法和栈数据结构。 首先,让我们关注使用类库方法进行字符串翻转。在Python中,有一个...

    字符串翻转,单词不翻转java语言实现

    在Java编程语言中,字符串翻转是一个常见的操作,但要求单词不翻转则需要更复杂的逻辑处理。这个任务涉及到字符串的处理、字符数组的操作以及对单词边界的判断。以下是对这个知识点的详细解释: 首先,我们需要理解...

    C语言下 字符串翻转程序

    理解字符串的表示和操作是C语言编程的基础,而字符串翻转是字符串操作的一个经典实例,它可以帮助我们更好地理解和运用指针、内存管理和字符串处理技巧。在实际编程中,这样的技巧常常被应用于各种数据结构和算法的...

    字符串翻转,单词不翻转C语言实现

    在C语言中,字符串翻转而单词不翻转是一个常见的编程任务,它要求我们保持单词的原始顺序,但颠倒整个句子的字符顺序。这个任务涉及到字符串处理、指针操作以及对C语言基本数据类型的掌握。下面我们将深入探讨如何用...

    字符串翻转方法三种

    ### 字符串翻转方法三种 在JavaScript中,字符串翻转是一个常见的操作需求,它能够帮助开发者快速地处理数据或实现特定的功能。本文将详细介绍三种不同的字符串翻转方法,并通过示例代码帮助读者更好地理解和应用...

    算法-字符串翻转

    java 算法-字符串翻转实现 题目:反转句子。例如“come here boy”-&gt;“boy here come”单词间为空格

    python-leetcode题解之第926题将字符串翻转到单调递增.zip

    python入门 python_leetcode题解之第926题将字符串翻转到单调递增

    PHP实现字符串翻转功能的方法【递归与循环算法】

    首先,让我们看看使用循环实现字符串翻转的方法。这种方法通常使用for或while循环,从字符串的尾部开始,逐个字符取出并添加到新字符串的前面,直到遍历完整个字符串。以下是一个使用for循环的示例: ```php ...

    使用递归来翻转字符串

    字符串翻转即是从字符串的一端开始,将字符逆序地排列到另一端,例如将"ABCD"变成"DCBA"。 递归是一种解决问题的方法,它通过将问题分解为更小的子问题来解决原问题。在这个例子中,我们将字符串翻转任务分解为两个...

    python中实现字符串翻转的方法

    在Python编程语言中,字符串翻转是一个常见的操作,尤其在处理文本数据时。本文将详细介绍五种不同的方法来实现Python中的字符串翻转,并提供每种方法的代码示例。这五种方法各具特点,从传统的循环遍历到更现代的...

    java实现字符串翻转输出

    利用java实现字符串的反转,字符串中简单的函数利用

    详细谈谈iOS字符串翻转

    在iOS开发中,字符串翻转是一项常见的操作,尤其是在处理算法问题时。字符串翻转的基本思路通常是逆序遍历,双指针法或者递归。但实际应用中,尤其是在处理包含多语言字符,如中文和Unicode字符(如Emoji)时,简单...

    php中实现字符串翻转的方法

    在PHP中,字符串翻转是常见的操作,可以用于多种场景,比如倒序显示文本或进行特定的字符串处理。本文将详细介绍几种在PHP中实现字符串翻转的方法。 首先,PHP提供了一个内置函数`strrev()`,它能直接实现字符串...

    php实现字符串翻转的方法

    PHP中实现字符串翻转的方法主要涵盖了操作字符串的一些基本技巧,同时使用了mbstring扩展提供的函数来处理包含多字节字符(如中文字符)的情况。以下是对文章中知识点的详细说明: 1. 字符串反转需求与应用场景 ...

    中英文字符串翻转函数

    通常,字符串翻转是指将一个字符串的顺序反转,即将第一个字符放到最后,第二个字符放到倒数第二个位置,以此类推。对于纯英文字符串,这可以通过数组操作或简单的字符串拼接来实现。但当涉及到包含多字节字符(如...

    JS实现字符串翻转的方法分析

    在JavaScript中,字符串翻转是一项常见的操作,常常用于各种文本处理和字符串操作。本文将详细介绍三种不同的方法来实现这一功能。 1. **使用`reverse()`方法** JavaScript的数组对象有一个内置方法`reverse()`,...

    PHP 实现字符串翻转(包含中文汉字)的实现代码

    在处理中文字符串翻转时,这两个函数就显得非常有用。 以下是一个使用`mb_`函数实现中文字符串翻转的示例代码: ```php function str_rev_gb($str){ if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){ ...

Global site tag (gtag.js) - Google Analytics