左右手法则的典型应用

编程入门 行业动态 更新时间:2024-10-11 23:24:14

<a href=https://www.elefans.com/category/jswz/34/892343.html style=左右手法则的典型应用"/>

左右手法则的典型应用

问题:输入 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;}
}
 

更多推荐

左右手法则的典型应用

本文发布于:2024-03-12 23:32:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732677.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:左右手   法则   典型

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!