f*******b 发帖数: 520 | 1 可是在我自己的IDE,没有问题,可以通过!
测试内容一样。。。
怎么回事阿。。。
原因会不会是我在method外申明的HashMap对OJ测试有影响? 也不知道怎么改。
Longest palindromic substring
代码如下:
public class Solution {
HashMap map= new HashMap();
public String longestPalindrome(String s) {
if(map.containsKey(s))
return map.get(s);
StringBuilder sb= new StringBuilder();
int i=0,j=s.length()-1;
while(i<=j)
{
if(i==j)
{
String middle=Character.toString(s.charAt(i));
String result =sb.toString()+middle+sb.reverse().toString();
map.put(s,result);
return result;
}
else if(s.charAt(i)==s.charAt(j))
{
sb.append(s.charAt(i));
i++;
j--;
}
else
{
map.put(s,"");
String a=longestPalindrome(s.substring(1,s.length()));
String b=longestPalindrome(s.substring(0,s.length()-1));
return a.length()
}
}
map.put(s,sb.toString()+sb.reverse().toString());
return sb.toString()+sb.reverse().toString();
}
} |
l*****a 发帖数: 14598 | 2 When declaring a class member variable, be extra cautious and remember to
reset the variable!
【在 f*******b 的大作中提到】 : 可是在我自己的IDE,没有问题,可以通过! : 测试内容一样。。。 : 怎么回事阿。。。 : 原因会不会是我在method外申明的HashMap对OJ测试有影响? 也不知道怎么改。 : Longest palindromic substring : 代码如下: : public class Solution { : HashMap map= new HashMap(); : public String longestPalindrome(String s) { : if(map.containsKey(s))
|
f*******b 发帖数: 520 | 3
大牛我如何reset那个HashMap呀
【在 l*****a 的大作中提到】 : When declaring a class member variable, be extra cautious and remember to : reset the variable!
|
z****e 发帖数: 54598 | 4 map.clear();
【在 f*******b 的大作中提到】 : : 大牛我如何reset那个HashMap呀
|
f*******b 发帖数: 520 | 5
蜥蜴哥,那个HashMap是我DP时存值的,下面的那个method会被recursively call的,
map.clear()就不对了。
【在 z****e 的大作中提到】 : map.clear();
|
l*****a 发帖数: 14598 | 6 再写一个longestPalindrome1 method然后把map传进去
【在 f*******b 的大作中提到】 : : 蜥蜴哥,那个HashMap是我DP时存值的,下面的那个method会被recursively call的, : map.clear()就不对了。
|
z****e 发帖数: 54598 | 7 map.putAll(map);
or
new HashMap(map);
【在 f*******b 的大作中提到】 : : 蜥蜴哥,那个HashMap是我DP时存值的,下面的那个method会被recursively call的, : map.clear()就不对了。
|