问题:输入 I am a boy 输出boy a am I
要求:o(1)额外空间 o(n)时间复杂度
分析:最典型的左右手法则用法,只要两次简单的字符串逆序就可以。只是要注意思维上应该再深一点点,你就一定能得到答案。
见下代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class reverseString {
public static void main(String[] args){
BufferedReader bf= new BufferedReader(new InputStreamReader(System.in));
char[] stringDemo = null;
try {
stringDemo = bf.readLine().toCharArray();
System.out.println(stringDemo);
} catch (IOException e) {
e.printStackTrace();
}
reverseString(stringDemo,0,stringDemo.length);
//看第一逆序效果
System.out.println(stringDemo);
int tag=0;
for(int i=0;i<stringDemo.length;i++){
if(stringDemo[i]==' '){
reverseString(stringDemo,tag,i);
tag = i+1;
}
}
//逆序后最终结果
System.out.println(stringDemo);
}
//字符串首位交换即可
public static char[] reverseString(char[] inputString,int i,int len){
char temp;
while(i<len/2){
temp = inputString[i];
inputString[i] = inputString[len-i-1];
inputString[len-i-1] = temp;
i++;
}
return inputString;
}
}
分享到:
相关推荐
字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言...
字符串逆序 字符串逆序_使用C#实现的字符串逆序
字符串逆序 字符串逆序_使用C语言实现的字符串按单词逆序
字符串逆序 字符串逆序_使用Java实现的字符串按单词逆序
7-3 字符串逆序.py
字符串逆序 字符串逆序_使用C语言+递归实现字符串逆序
PTA 6-13 函数实现字符串逆序
字符串处理-使用Python逆序输出字符串.zip
字符串逆序
逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串
c++ 字符串逆序输出 用vs2005打开
简单汇编程序:输入字符串逆序输出(两种)
只用简单几句话,实现逆序输出.使用gets和putchar来实现
Python代码源码-实操案例-框架案例-使用Python逆序输出字符串.zip
c++实现的关于递归实现逆序字符串,有需要的可以下载
将字符串逆序算法示例 VC CUI程序 字符串逆序算法示例 VC CUI程序 字符串逆序算法示例 VC CUI程序
字符串逆序输出StrReverse,上级测试成功
字符串逆序输出算法,使用的C++算法,算法精巧
1162:字符串逆序 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 31557 通过数: 20735 【题目描述】 输入一串以‘!’结束的字符,按逆序输出。 【输入】 如题述。 【输出】 如题述。 【输入样例】 abc! 【输出...