我在Java中练习非常基本的递归问题.
"给定一个字符串,递归计算(无循环)字符串中小写的'x'字符数"
countX("xxhixx") ? 4
countX("xhixhix") ? 3
countX("hi") ? 0
Run Code Online (Sandbox Code Playgroud)
-
public int countX(String str) {
if (str == null || str.length() == 0)
return 0;
else if (str.length() == 1)
return str.charAt(0) == 'x' ? 1 :0;
else {
return (str.charAt(str.length()-1) == 'x' ? 1 : 0 ) + countX(str.substring(0,str.length()-1));
}
}
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,我想知道是否有更好的写作方式.我发现这个代码复杂,只是一个简单的问题.