用C或C++实现一个 void reverse(char *str)函数,几即反转一个null结尾的字符串。
/**
*
*/
package Chapter_8;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/**
* @author MohnSnow
* @time 2015年5月21日 下午5:57:30
*
*/
public class chapter8_1_2 {
<span style="white-space:pre"> </span>/**
<span style="white-space:pre"> </span> * @param argsmengdx
<span style="white-space:pre"> </span> * -fnst
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>private static void strReverse(String str) {
<span style="white-space:pre"> </span>for (int i = str.length() - 1; i >= 0; i--) {
<span style="white-space:pre"> </span>char j = str.charAt(i);// 关键知识点
<span style="white-space:pre"> </span>System.out.print(j + " ");
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public static void main(String[] args) {
<span style="white-space:pre"> </span>Scanner in = new Scanner(System.in);
<span style="white-space:pre"> </span>String a = in.nextLine();
<span style="white-space:pre"> </span>// StringBuffer b = new StringBuffer(a);线程安全的StringBufferJDK方法测试
<span style="white-space:pre"> </span>// System.out.println(b.reverse());
<span style="white-space:pre"> </span>// strReverse(a);
<span style="white-space:pre"> </span>StringReverse StrRev = new StringReverse();
<span style="white-space:pre"> </span>System.out.println(StrRev.swapWords(a));
<span style="white-space:pre"> </span>}
}
/*
* 以空格作为间隔进行反转 asdf ds dsf 转为 dsf ds fdsa
*/
class StringReverse {
<span style="white-space:pre"> </span>public StringReverse() {
<span style="white-space:pre"> </span>// System.out.println(this);
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public void swap(char[] arr, int begin, int end) {
<span style="white-space:pre"> </span>while (begin < end) {
<span style="white-space:pre"> </span>char temp = arr[begin];
<span style="white-space:pre"> </span>arr[begin] = arr[end];
<span style="white-space:pre"> </span>arr[end] = temp;
<span style="white-space:pre"> </span>begin++;
<span style="white-space:pre"> </span>end--;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>// I love java
<span style="white-space:pre"> </span>public String swapWords(String str) {
<span style="white-space:pre"> </span>// System.out.println(this);
<span style="white-space:pre"> </span>char[] arr = str.toCharArray();// 把String转换为Char数组
<span style="white-space:pre"> </span>swap(arr, 0, arr.length - 1);
<span style="white-space:pre"> </span>System.out.println(arr);
<span style="white-space:pre"> </span>int begin = 0;
<span style="white-space:pre"> </span>for (int i = 1; i < arr.length; i++) {
<span style="white-space:pre"> </span>if (arr[i] == ' ') {
<span style="white-space:pre"> </span>swap(arr, begin, i - 1);
<span style="white-space:pre"> </span>begin = i + 1;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>return new String(arr);
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * public static void main(String[] args) { String str = "I love java";
<span style="white-space:pre"> </span> * System.out.println(new StringReverse().swapWords(str)); }
<span style="white-space:pre"> </span> */
}
class Main {
<span style="white-space:pre"> </span>public static void main(String[] args) {
<span style="white-space:pre"> </span>Scanner sc = new Scanner(System.in);
<span style="white-space:pre"> </span>String str = sc.nextLine();
<span style="white-space:pre"> </span>String[] sArr = str.split(" ");// I love java
<span style="white-space:pre"> </span>List<String> list = new ArrayList<String>();
<span style="white-space:pre"> </span>list = Arrays.asList(sArr);
<span style="white-space:pre"> </span>// for(int i=0;i<sArr.length;i++){
<span style="white-space:pre"> </span>// list.add(sArr[i]);
<span style="white-space:pre"> </span>// }
<span style="white-space:pre"> </span>Collections.reverse(list);
<span style="white-space:pre"> </span>for (String word : list) {
<span style="white-space:pre"> </span>System.out.print(word + " ");
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
}
相关链接