我無法將以下代碼重寫爲遞歸方法,而不是使用for循環。 for循環測試以查看字符串'noSpaces'是否是迴文(相同的向前和向後)。 noSpaces字符串沒有標點符號,空格或大小寫不同。重寫一個for循環作爲遞歸方法?
感謝您的幫助
public boolean isRegularPalindrome(String noSpaces) {
noSpaces = noSpaces.toUpperCase();
String[] letters = new String[noSpaces.length()];
for (int i = 0; i < letters.length; i++) {
letters[i] = Character.toString(noSpaces.charAt(i));
}
for (int i = 0; i < letters.length/2; i++) {
if (!letters[i].equals(letters[letters.length - i - 1])) {
return false;
}
}
return true;
}
你過分複雜的解決方案。不需要將字符串轉換爲單字符字符串數組。只要執行'if(noSpaces.charAt(i)!= noSpaces.charAt(noSpaces.length() - 1 - i))return false;'。然後用這個簡單的方法,你可能會發現將它變成遞歸的更容易。 –
這是一個功課題嗎? –
http://stackoverflow.com/questions/4367260/creating-a-recursive-method-for-palindrome –