package com.kivkyle.string;
/*
* String字符串的反转
*/
public class StringReverse {
public static void main(String[] args) {
// test
StringReverse sr = new StringReverse();
String str = "我爱祖国";
sr.reverse1(str);
// System.out.println(sr.reverse6(str));
// System.out.println(sr.reverse7(str));
}
public void reverse1(String str) {// 1.通过StringBuffer的reverse()-String
System.out.println(new StringBuffer(str).reverse().toString());
}
public void reverse2(String str) {// 2.StringBuffer的append()方法
char[] c = str.toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = str.length() - 1; i >= 0; i--) {
sb.append(c[i]);
}
System.out.println(sb.toString());
}
public void reverse3(String str) {// 3.通过str-char[]-由后向前遍历数组进行反转-char
char[] c = str.toCharArray();
for (int i = c.length - 1; i >= 0; i--) {
char cc = c[i];
System.out.print(cc);
}
}
public void reverse4(String str) {// 4.String的subString()方法 字符串截取-String
for (int i = str.length() - 1; i >= 0; i--) {
String strRe = str.substring(i, i + 1);
System.out.print(strRe);
}
}
public void reverse5(String str) {// 5.String的charAt()方法-char
for (int i = str.length() - 1; i >= 0; i--) {
char c = str.charAt(i);
System.out.print(c);
}
}
public String reverse6(String str) {// 6.递归-返回String
int i = str.length();
if (i < 1) {
return "";
} else {
String strResult = str.charAt(--i) + reverse6(str.substring(0, i));
return strResult;
}
}
public String reverse7(String str) {// 7.栈-返回String
char[] c = new char[str.length()];// 栈
for (int i = 0; i < str.length(); i++) {// 进栈
c[i] = str.charAt(i);
}
StringBuffer sb = new StringBuffer("");
for (int j = c.length - 1; j >= 0; j--) {
sb.append(c[j]);
}
return sb.toString();
}
}
分享到:
相关推荐
### Java使用递归实现字符串反转 在Java编程语言中,递归是一种常用的方法来解决许多问题,特别是那些可以通过分解成更小子问题来解决的问题。本文将详细介绍如何使用递归来实现字符串的反转。 #### 一、递归基础...
在C#编程语言中,字符串反转是一个常见的操作,特别是在处理文本数据时。本文将详细介绍两种在C#中实现字符串反转的方法,并通过一个控制台程序示例进行演示。 ### 方法一:使用`Substring()`和`Length`属性 第一...
在编程领域,字符串反转是一个常见的操作,特别是在处理文本数据时。这个任务的目的是将一个给定的字符串中的字符顺序颠倒,例如将"abcdef"反转为"fedcba"。这在各种情境下都有应用,比如数据处理、文本分析或者简单...
在C# .NET编程环境中,字符串反转是一个常见的操作,它涉及到对字符串中字符顺序的逆序处理。在本文中,我们将深入探讨如何在C#中实现字符串反转,并通过实例代码来展示这一过程。 首先,我们需要了解C#中的字符串...
### 字符串反转的N种方法:C#中的实践与探讨 #### 使用Array.Reverse方法 在C#中,`Array.Reverse`方法提供了一种简单直接的字符串反转方式。该方法实际上针对数组操作,将数组中的元素顺序进行反转。在字符串反转...
String input = "将输入的字符串反转"; StringBuilder sb = new StringBuilder(input); String reversed = sb.reverse().toString(); System.out.println("Reversed string: " + reversed); } } ``` 2. 使用...
其中,字符串反转算法是书中讨论的一个重要主题,它涉及到了内存管理、时间复杂度优化以及算法设计等多个方面。下面我们将详细探讨这个最优性能效率最高的字符串反转算法。 首先,我们需要理解字符串反转的基本概念...
本知识点将围绕如何进行字符串反转以及把整个字符串逆序来进行讲解。首先,字符串反转是编程中常见的问题,常常用于各类笔试和面试中。而字符串逆序则是在反转的基础上,进一步处理,让整个字符串的顺序完全颠倒。 ...
### 使用几种常见的方法实现字符串反转 #### 知识点一:使用`BufferedReader`实现字符串反转 在Java中,可以通过`BufferedReader`类从字符流中读取文本,并利用循环来实现字符串的反转。 1. **引入必要的包**: ...
字符串反转的小程序,经典的面试题目。题目中只是用了两个char型指针,较少的使用了系统资源。
在本篇中,我们将深入探讨如何在Java中实现字符串反转,特别是在处理多个字符串时。 首先,让我们从基本的字符串反转方法开始。Java提供了`StringBuilder`或`StringBuffer`类,它们是可变的字符序列,非常适合进行...
"ZIFUCHUAN.zip_字符串反转"这个压缩包文件显然与字符串反转功能有关,这可能是某个软件或程序的源代码,用于解决公司在笔试环节中可能会遇到的问题。字符串反转是一种常见的编程练习,涉及对字符序列进行倒序排列。...
字符串反转 - `reverse()`:返回一个新的字符串,其中原来的字符顺序颠倒。 ### 6. 字符串分割 - `split(String regex)`:根据给定的正则表达式将字符串分割成多个子字符串,并返回一个包含这些子字符串的数组。...
本文将基于“递归方法求阶乘与字符串反转”这一主题,深入探讨递归的基本概念、工作原理以及如何在C#语言中实现阶乘计算和字符串反转。 ### 一、递归的基本概念 递归(Recursion)是指在函数的定义或算法的描述中...
在编程领域,字符串反转是一个常见的操作,特别是在处理文本数据时。C++作为一种强大的系统级编程语言,提供了多种方法来实现字符串的反转。本篇文章将详细探讨如何在C++环境中,特别是使用VC6.0编译器,来实现字符...
在这个特定的案例中,我们将探讨如何使用递归方法计算阶乘以及实现字符串反转功能。这两个概念都是计算机科学的基础,并且在实际编程中有着广泛的应用。 首先,让我们理解阶乘的概念。阶乘是指一个正整数n的所有...
让我们深入探讨一下字符串反转的概念、实现方式以及在C++中的具体应用。 字符串反转的基本思想是,从字符串的一端开始,逐个地将字符移动到另一端,直到整个字符串完成反转。这个过程可以分为两个主要步骤:首先,...
最近面试遇到线上coding,总结一下算法题,都是一些常见的算法题,比如字符串反转等等,在此记录一下 class Test { public static void main(String[] args) { String str="abcdefg"; String s = reverseFive(str...
标题提到的“将一个字符串反转的方式”是一个基础但重要的概念,广泛应用于各种编程语言。这里我们将深入探讨如何在Java中实现字符串反转,同时也会涉及到字符串的基本原理和一些相关工具的使用。 首先,我们需要...
根据提供的文件信息,我们可以从中提炼出与字符串反转相关的知识点,具体包括以下方面: ### 字符串反转的方法 #### 方法一:使用字符数组实现反转 在第一个示例代码中,使用了字符数组来实现字符串的反转。 ```...