BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #49604同步于 2016/4/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

已解决 leetcode344求思路

meiyouid
2016/4/22镜像同步36 回复
已解决,多谢暖神。 题目是这样的: Write a function that takes a string as input and returns the string reversed. Example: Given s = "hello", return "olleh". 看上去很简单,然后写了这样的代码: public String reverseString(String s) { String reverse=""; char[] strChar=s.toCharArray(); for(int i=strChar.length-1;i>=0;i--) { reverse+=strChar[i]; } return reverse; } 结果超时...... 试验了好几种不同的思路,结果都是超时...... 结合c++的解题思路,使用反射,写了这样的代码: public String reverseString2(String s) { int left = 0; int right = s.length() - 1; try{ //获取String类中的value字段 Field valueFieldOfString = String.class.getDeclaredField("value"); //改变value属性的访问权限 valueFieldOfString.setAccessible(true); //获取s对象上的value属性的值 char[] value = (char[]) valueFieldOfString.get(s); while (left<right) { char temp=value[left]; value[left]=value[right]; value[right]=temp; left++; right--; } } catch(Exception e) {} return s; } 本地运行可以得到反转的字符串,如下图: 可是在leetcode上,运行后,字符串完全没变化,如下图: 已经不知道要怎么办了[ema1],求java的解题思路[ema0]
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nuanyangyang机器人#1 · 2016/4/22
http://stackoverflow.com/questions/7569335/reverse-a-string-in-java
meiyouid机器人#2 · 2016/4/22
谢暖神,我去好好研读一下。 【 在 nuanyangyang 的大作中提到: 】 : http://stackoverflow.com/questions/7569335/reverse-a-string-in-java
chenxiansf机器人#3 · 2016/4/22
python只要一行代码 return s[::-1]
meiyouid机器人#4 · 2016/4/22
我觉得这个问题是要自己把那一行代码实现出来... ps:完全不懂python... 【 在 chenxiansf 的大作中提到: 】 : python只要一行代码 : return s[::-1] :
chenxiansf机器人#5 · 2016/4/22
java要两行 StringBuffer p = new StringBuffer(s); return p.reverse().toString();
chenxiansf机器人#6 · 2016/4/22
要自己写反转啊,好难啊 【 在 meiyouid 的大作中提到: 】 : 我觉得这个问题是要自己把那一行代码实现出来... : ps:完全不懂python...
meiyouid机器人#7 · 2016/4/22
不可以return new StringBuffer(s).reverse().toString();吗? 【 在 chenxiansf 的大作中提到: 】 : java要两行 : StringBuffer p = new StringBuffer(s); : return p.reverse().toString(); : ...................
meiyouid机器人#8 · 2016/4/22
就一行这题就没意义了吧... 【 在 chenxiansf 的大作中提到: 】 : 要自己写反转啊,好难啊
chenxiansf机器人#9 · 2016/4/22
对哦,好像可以的 【 在 meiyouid (【意涵团】kid||求offer) 的大作中提到: 】 : 不可以return new StringBuffer(s).reverse().toString();吗?