一个字符串题

问题描述

写一个程序把字符串按这种方式处理:“abcdef”转为“efcdab”。要求不能用字符串函数,要用伪码写

解决方案

解决方案二:
如果说不能用字符串函数,那那个String就呆在那里动都动不了还怎么转啊,又不像c那种有指针以前也碰到这种题,觉得很无奈期待高手解释~
解决方案三:
这题是有点无聊!随便写写,应该还有更好的思路!Stringt;String[]s<-用空格split这个字符串fori=0->s.length/2t<-s[i];s[i]<-s[length-i];s[length-i]<-t;
解决方案四:
引用2楼zlz3907的回复:

这题是有点无聊!随便写写,应该还有更好的思路!Stringt;String[]s<-用空格split这个字符串fori=0->s.length/2t<-s[i];s[i]<-s[length-i];s[length-i]<-t;

splitlength都是String的函数吧,,
解决方案五:
不用字符串函数?那把string包装成stringbuffer行不?
解决方案六:
这个问题很值得讨论。期待
解决方案七:
关注,等高手
解决方案八:
嗯思考思考
解决方案九:
不用字符串是不是要用数组?
解决方案十:
我用栈,但是是更复杂的类,似乎与题意不符
解决方案十一:
引用4楼rypgood的回复:

不用字符串函数?那把string包装成stringbuffer行不?

这个呢?有点无奈啊。要么用数组去倒序。
解决方案十二:
比较无聊俄,为什么不能用字符函数?没有指针的语言比较恶心。
解决方案十三:
谁出的题目?舍近求远。。。
解决方案十四:
勉强实现了:importjava.util.regex.*;publicclassMyRegex{publicstaticvoidmain(String[]args){Strings="abcdef";Stringstr="";String[]arr=newString[10];inti=0,f=0;Matcherm=Pattern.compile("\w{2}").matcher(s);//先用正则过滤,如果正则表达式也算字符串函数的话,我也没话说了while(m.find()){arr[i]=m.group();//把过滤出来的放进数组里面i++;}//用for循环倒着打印出来for(intj=i-1;j>=0;j--){if(f!=0){str+=""+arr[j];}else{str=arr[j];f++;}}System.out.println(str);}}

解决方案十五:
可以把string强制转换成int,然后在根据字符串的长度来做计算,最后把INT转换成string,输出.不知道这样可不可以.
解决方案:
题目说要用伪码。。。
解决方案:
我怎么抽象,都不能找出这个情况的规则。唉~搞不定。期待大家。
解决方案:
学习,不错,正则表达式也算字符串函数
解决方案:
咋弄?
解决方案:
13楼的方法貌似可以~~~
解决方案:
不知道楼主想干什么,有好方法为啥不用啊split方法多简单啊
解决方案:
不用任何方法的话,这个String对象根本碰都碰不了吧,怎么改??
解决方案:
将字符串写入文件再从文件里读出来JAVA里可以Scanners=newScanner("abcdef");
解决方案:
importjava.util.Arrays;publicclassReversePrintWord{staticvoidgo(Stringsrc){char[]buf=src.toCharArray();for(inti=buf.length-1;i>=0;i--){if(i==0){intj=buf[0]==''?i+1:i;intflag=j;for(;j<=buf.length-1&&buf[j]!='';j++)System.out.print(buf[j]);if(flag!=j)System.out.print("");}elseif(buf[i]==''){intj=i+1;for(;j<=buf.length-1&&buf[j]!='';j++)System.out.print(buf[j]);if(j!=i+1)System.out.print("");}}}publicstaticvoidmain(String[]args){Strings="abcdefhijkm";go(s);}}

解决方案:
我用栈写的:importjava.util.Stack;/***将一句话倒过来。"Iamastudent"变成"studentaamI"*@authorOwner**/publicclassstringsub{publicstaticStringa(Stringstr){Stacks=newStack();//读取栈Stacks2=newStack();//输出栈Stacktmp=newStack();//临时栈StringBuffersb=newStringBuffer("");inti=0;do{System.out.println(i);charc=str.charAt(i);if(c!=''){s.add(c);}if(c==''||i==str.length()-1){//单词结束或字符串结束while(!s.empty()){tmp.add(s.pop());}while(!tmp.empty()){//把读取到的单词再倒过来恢复正常顺序sb.append(tmp.pop());}s2.add(sb.toString());//存放单词if(c==''){//如果是最后一个字符就不加空格了s2.add(c);}sb=newStringBuffer("");}i++;}while(i<str.length());while(!s2.empty()){sb.append(s2.pop());}returnsb.toString();}publicstaticvoidmain(String[]args){Stringstr="Iamastudent";System.out.println(a(str));}}

时间: 2024-12-22 04:52:49

一个字符串题的相关文章

求一个字符串编辑成为另一个字符串的最少操作数

原题链接: http://oj.leetcode.com/problems/edit-distance/ 这道题求一个字符串编辑成为另一个字符串的最少操作数,操作包括添加,删除或者替换一个字符.这道题难度是比较大的,用常规思路出来的方法一般都是brute force,而且还不一定正确.这其实是一道二维动态规划的题目,模型上确实不容易看出来,下面我们来说说递推式. 我们维护的变量res[i][j]表示的是word1的前i个字符和word2的前j个字符编辑的最少操作数是多少.假设我们拥有res[i]

java-怎么判断一个字符串中含有几个文件名

问题描述 怎么判断一个字符串中含有几个文件名 比如"速查笔记.doc,说明.txt,这是测试啊啊啊啊啊啊啊.txt,dd,s.33.txt".文件名中可以包含 逗号,句号等字符,所以不能用逗号和句号分割.那么难道是判断后缀名吗,但是后缀名何其多. 啊.请问有人有方法吗 解决方案 此题无解!因为txt.txt,txt.txt你说是几个文件?也可能是一个,也可能是两个,这个连伟大的人类都无法区分开,因为你统计的时候,用逗号做分隔符,就导致了,将来无法把他们再次分开,就算比尔盖茨来也不可能有

想问朋友面试中遇到的一个算法题:

问题描述 想问朋友面试中遇到的一个算法题: Write a program in Java to assess a given string whether it complies with following patterns. Return true if a given string complies with these patterns else false. N = N1 + N2 N>= N1 >= N2 where N is the Nth element in the str

c语言-C语言求助,统计出一个字符串中的单词数

问题描述 C语言求助,统计出一个字符串中的单词数 /*7.编写一个函数,统计出一个字符串中的单词数, 将每个单词存起来,并且返回最长单词. 函数原型定义如下:char * word ( char * str ) ;*/ #include #include char *word(char *str) { int i=0,maxi,j=0,k=0,flag=0; int s,t; char *p[100]; while(str[j]!='') { if(str[j]==' ') { str[j]='

一个算法题,求答案啊啊啊啊

问题描述 一个算法题,求答案啊啊啊啊 白班 09:00-18:00 通班 09:00-21:00 每个人每个月通班数量必须等于早中班和中晚班数量之和 早中班 09:00-15:00 中晚班 15:00-21:00 假设:每月按照30计算. 排班规则: 1.每个人每个月固定休息6天连续上班天数不超过7天. 2.每天各班次上班的人数最低需求:8个白班5个通班1个早中班,2个中晚班. 3.每个月每个人的通班天数安排不超过8天. 4.每个人每个月早中班和中晚班的天数之和需要与通班天数相等. 5.每月最多

java-给HTTP链接的一个字符串中删除空白

问题描述 给HTTP链接的一个字符串中删除空白 我想发送一个查询的url: String url = String.format( "http://xxxxx/xxx/xxx&message=%s",myEditBox.getText.toString()); // Create a new HttpClient and Post Header DefaultHttpClient httpclient = new DefaultHttpClient(); HttpPost ht

json-android把一个字符串变成键值对的形式

问题描述 android把一个字符串变成键值对的形式 android客户端把一个字符串变成键值对(JSON之类的)的形式,比如:{name=张三,age=20,sex=男}..实在不明白..唉..求解答.. 解决方案 String[] arrays = new String[]{"name=张三", "age=20", "sex=男"}; JSONObject element = new JSONObject(); for(int i= 0; i

如何识别一个字符串是否Json格式

前言: 距离上一篇文章,又过去一个多月了,近些时间,工作依旧很忙碌,除了管理方面的事,代码方面主要折腾三个事: 1:开发框架(一整套基于配置型的开发体系框架) 2:CYQ.Data 数据层框架(持续的更新,最近也加入了Sybase的支持) 3:工作流流程图设计器. 由于这三个方面都涉及到Json,所以就谈谈这些天在Json上花下的心思. 关于造轮子: 很多人对于造轮子都会有自己的看法,这里提一下个人的观点:  个人认为: 1:首要是要具备造轮子的能力,然后再讨论造不造与浪不浪.轮子与时间的问题.

adapter-如何传递一个字符串到 onItemClick ListView?

问题描述 如何传递一个字符串到 onItemClick ListView? 如何从cursor中获取一个字符串然后放入 putExtra .为ListView调用一个onItemClick.我需要从数据库名是'gotoURL' 的数据库中获取字符串,再放进 activity 里的 onItemClick 方法中: i.putExtra("Url", ???). Activity: public void onCreate(Bundle savedInstanceState) { sup