我今天一直在搞递归。通常,编程技术使用不足。
我着手递归地反转一个字符串。这是我想出的:
//A method to reverse a string using recursion
public String reverseString(String s){
char c = s.charAt(s.length()-1);
if(s.length() == 1) return Character.toString(c);
return c + reverseString(s.substring(0,s.length()-1));
}
我的问题:Java中有更好的方法吗?
最好的方法是不使用递归。这些内容通常用于教学生递归概念,而不是实际的最佳实践。因此,您的操作方式就很好。只是不要在Java应用中将递归用于现实应用中的此类内容;)
PS。除了我刚才所说的,我将选择""
递归函数的基本情况:
public String reverseString(String s){
if (s.length() == 0)
return s;
return reverseString(s.substring(1)) + s.charAt(0);
}
问题内容: 哪种方法最适合(更理想的)用于测试非空字符串(在Go中)? 要么: 或者是其他东西? 问题答案: Go的标准库中都使用了这两种样式。 可以在以下软件包中找到:http : //golang.org/src/pkg/strconv/atoi.go 可以在以下包中找到:http : //golang.org/src/pkg/encoding/json/encode.go 两者都是惯用的,而
对于测试非空字符串(在Go中),哪种方法是最好的(更idomatic)?
问题内容: 在Java / Android中检查字符串是否包含URL的最佳方法是什么?最好的方法是检查字符串是否包含| .com |。.net | .org | .info | .everythingelse |?还是有更好的方法呢? 该网址是在Android中输入到EditText中的,它可以是粘贴的网址,也可以是手动输入的网址,用户不希望输入http://…。我正在开发一个网址缩短应用程序。
问题内容: 我通常使用以下惯用法来检查String是否可以转换为整数。 就是我,或者这似乎有点骇人听闻?有什么更好的方法? 问题答案: 如果你不担心潜在的溢出问题,该功能的执行速度将比使用快20-30倍。
问题内容: 我在尝试搜索字符串中的子字符串时遇到问题。该子字符串可能在字符串中也可能不在字符串中。 我知道是否可以完成的两种方法是: 正则表达式 但是,还有其他“优化”方式吗?你会怎么做? Ruby可以提供更好的答案吗?由于我们使用jRuby,因此答案可以是Ruby或Java。 问题答案: 在Ruby中,使用方法: 返回。
问题内容: 将数字转换为字符串的“最佳”方法是什么(就速度优势,清晰度优势,内存优势等而言)? 一些例子: 问题答案: 像这样: 实际上,即使我通常是为了简单方便而这样做,但 对于原始速度而言 ,似乎出现了1000多次迭代,但 对于 根据上述JSPerf测试最快: 应该注意的是,当您认为速度差异可以在0.1秒内进行1百万次转换时,速度差异并不是太大。 更新: 速度因浏览器而异。在Chrome中,根