一句话单词倒置
发布时间:2020-12-14 02:15:53 所属栏目:百科 来源:网络整理
导读:两种方式,第一,通过指针;第二,通过数组下标 void LoopMove(char * l,char * r){char temp;while(lr){temp = *l;*l = *r;*r = temp;++l;--r;}}void ReverseStr(char * str){char *l,*r;r = str;l = str;LoopMove(l,r+strlen(str)-1);while(*r!=' '){l =
两种方式,第一,通过指针;第二,通过数组下标 void LoopMove(char * l,char * r) { char temp; while(l<r) { temp = *l; *l = *r; *r = temp; ++l; --r; } } void ReverseStr(char * str) { char *l,*r; r = str; l = str; LoopMove(l,r+strlen(str)-1); while(*r!=' ') { l = r+1; r = l; while(*r!=' ' && *r!=' ') ++r; r = r-1; LoopMove(l,r); l = r+1; r = l; } } int main() { char str[]="i come from tianjin."; cout<<strlen(str)<<endl; ReverseStr(str); cout<<str<<endl; return 0; }
public class StrReverse { public static void main(String[] args) { // TODO Auto-generated method stub String str="hello i tianjin."; char []s = str.toCharArray(); reverseWord(s); System.out.println(new String(s)); } public static void reverseWord(char []s){ int l = 0; int r = 0; reverse(s,l,r+s.length-1); for(int i=0; i<=s.length;++i){ if(i==(s.length)||s[i]==' '){//注意顺序,否则越界错误 r = i-1; System.out.println(l+" "+r); reverse(s,r); System.out.println(new String(s)); l = i+1; } } } public static void reverse(char []s,int l,int r){ char temp; for(int i=0; i<=(r-l)/2; i++) { temp = s[l+i]; s[l+i] = s[r-i]; s[r-i] = temp; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |