www.91084.com

GVKun编程网logo

JS字符串反转(js字符串反转方法)

25

本篇文章给大家谈谈JS字符串反转,以及js字符串反转方法的知识点,同时本文还将给你拓展(C#)字符串反转、5.23字符串反转的案例、5.33字符串反转功能案例、go字符串反转思路等相关知识,希望对各位

本篇文章给大家谈谈JS字符串反转,以及js字符串反转方法的知识点,同时本文还将给你拓展(C#) 字符串反转、5.23 字符串反转的案例、5.33 字符串反转功能案例、go字符串反转思路等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JS字符串反转(js字符串反转方法)

JS字符串反转(js字符串反转方法)

最开始的思路是,先把字符串分割,然后倒序拼接成一个新的字符串。于是有了

方法一:

var name = "My city is WH";
var nameArr = name.split('''');
var result=[];
var resultStr = '''';
for (var i = 0, l = nameArr.length; i < l; i++) {
    result.unshift(nameArr[i]);

}
for (var i = 0, l = result.length; i < l; i++) {
    resultStr += result[i];
}
console.log(resultStr);  // HW si ytic yM

 

方法二:reverse(),join()

var name = "My city is WH";
var resultStr = name.split('''').reverse().join(''''); 
console.log(resultStr);  // HW si ytic yM

 

方法三: charAt()

var name = "My city is WuHan";
var nameArr = name.split('''');
var resultStr = '''';
for (var i = nameArr.length-1; i >= 0; i--) {
    resultStr += name.charAt(i);
}
console.log(resultStr); // naHuW si ytic yM

 

(C#) 字符串反转

(C#) 字符串反转

 

方法一:

public static string Reverse(string name)
{
     if (String.IsNullOrEmpty(name))
       {
           throw new Exception ("字符串不能为空!");
       }
    StringBuilder sb = new StringBuilder(name.Length);
    for (int i = name.Length-1; i >= 0; i--)
     {
        sb.Append(name[i]);
    }
        return sb.ToString();
}

 

方法二:.NET3.5 以上

public static string Reverse(string name)
{
     char[] reverse = name.Reverse().ToArray();

     return new string(reverse);
}

 

方法三:二分法

public static string Reverse(string name)
{
   if (String.IsNullOrEmpty(name))
   {
      throw new Exception ("字符串不能为空!");
   }
  char[] nm = name.ToCharArray();
  for (int i = 0; i < (nm.Length-1 )/ 2; i++)
  {
     char q = nm[i];
     nm[i]= nm[nm.Length - 1 - i];
    nm[nm.Length - 1 - i] = q;
  }

  return new string(nm);

}

 

5.23 字符串反转的案例

5.23 字符串反转的案例

/*
 * 字符串反转
 * 举例:键盘录入”abc”		
 * 输出结果:”cba”
 * 
 * 分析:
 * 		A:键盘录入一个字符串
 * 		B:定义一个新字符串
 * 		C:倒着遍历字符串,得到每一个字符
 * 			a:length()和charAt()结合
 * 			b:把字符串转成字符数组
 * 		D:用新字符串把每一个字符拼接起来
 * 		E:输出新串
 */
public class StringTest {
	public static void main(String[] args) {
		// 键盘录入一个字符串
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串:");
		String line = sc.nextLine();

		/*
		// 定义一个新字符串
		String result = "";

		// 把字符串转成字符数组
		char[] chs = line.toCharArray();

		// 倒着遍历字符串,得到每一个字符
		for (int x = chs.length - 1; x >= 0; x--) {
			// 用新字符串把每一个字符拼接起来
			result += chs[x];
		}

		// 输出新串
		System.out.println("反转后的结果是:" + result);
		*/

		// 改进为功能实现
		String s = myReverse(line);
		System.out.println("实现功能后的结果是:" + s);
		sc.close();
	}

	/*
	 * 两个明确: 返回值类型:String 参数列表:String
	 */
	public static String myReverse(String s) {
		// 定义一个新字符串
		String result = "";

		// 把字符串转成字符数组
		char[] chs = s.toCharArray();

		// 倒着遍历字符串,得到每一个字符
		for (int x = chs.length - 1; x >= 0; x--) {
			// 用新字符串把每一个字符拼接起来
			result += chs[x];
		}
		return result;
	}
}


5.33 字符串反转功能案例

5.33 字符串反转功能案例

import java.util.Scanner;

/*
 * 把字符串反转
 */
public class StringBufferTest {
	public static void main(String[] args) {
		// 键盘录入数据
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入数据:");
		String s = sc.nextLine();

		// 方式1:用String做拼接
		String s1 = myReverse(s);
		System.out.println("s1:" + s1);
		// 方式2:用StringBuffer的reverse()功能
		String s2 = myReverse2(s);
		System.out.println("s2:" + s2);
		sc.close();
	}

	// 用StringBuffer的reverse()功能
	public static String myReverse2(String s) {
		// StringBuffer sb = new StringBuffer();
		// sb.append(s);

		// StringBuffer sb = new StringBuffer(s);
		// sb.reverse();
		// return sb.toString();

		// 简易版
		return new StringBuffer(s).reverse().toString();
	}

	// 用String做拼接
	public static String myReverse(String s) {
		String result = "";

		char[] chs = s.toCharArray();
		for (int x = chs.length - 1; x >= 0; x--) {
			// char ch = chs[x];
			// result += ch;
			result += chs[x];
		}

		return result;
	}
}


go字符串反转思路

go字符串反转思路

go字符串反转思路

  1. 利用双指针,一个指针从第一个元素开始,另一个指针从最后一个元素开始,相互交换.
  2. 循环移动这两个指针,到他们两个重合为止. 代码如下:
 func reverseString(s []byte) []byte {
	var i, j = 0, len(s) - 1
	for i < j {
		s[i], s[j] = s[j], s[i]
		i++
		j--
	}
	return s
}

上面的算法实现有几个好处: 是在原数组上进行的操作,没有额外的使用空间。 其它唯一用到的两个变量i和j,也是:O(1) 额外空间.

今天关于JS字符串反转js字符串反转方法的讲解已经结束,谢谢您的阅读,如果想了解更多关于(C#) 字符串反转、5.23 字符串反转的案例、5.33 字符串反转功能案例、go字符串反转思路的相关知识,请在本站搜索。

本文标签: