Java 检查字符串是否为回文(使用char[]输入而不是字符串)
我知道这个问题的解决办法:Java 检查字符串是否为回文(使用char[]输入而不是字符串),java,string,palindrome,arrays,Java,String,Palindrome,Arrays,我知道这个问题的解决办法: bool isPalindrome(string s) { int n = s.length(); for (int i=0;i<(n / 2) + 1;++i) { if (s.charAt(i) != s.charAt(n - i - 1)) { return false; } } return true; } bool isPalindrome(字符串s){ int n=s.长度(); 对于(int
bool isPalindrome(string s) {
int n = s.length();
for (int i=0;i<(n / 2) + 1;++i) {
if (s.charAt(i) != s.charAt(n - i - 1)) {
return false;
}
}
return true;
}
bool isPalindrome(字符串s){
int n=s.长度();
对于(inti=0;i来说,如果你得到的只是一个char
,那么它只是一个简单的回文,因为它本身就是长度为1的
如果您得到一个char[]
(一个char
s的数组),它将使用与上面完全相同的逻辑,但是使用数组方法而不是字符串方法。因此.length()
变为.length
,s.charAt(i)
变为s[i]
,等等
或者你指的是别的什么?这是一个相当模糊的问题…我想它看起来会像这样(现在用Java)
//布尔-不是布尔。
公共静态布尔值isAlindrome(char[]s){
int n=s.length;//获取数组长度。
对于(int i=0;i<(n/2)+1;++i){
如果(s[i]!=s[n-i-1]){//访问字符的位置。
返回false;
}
}
//必须是回文。
返回true;
}
什么是“字符作为输入”虽然这是java,不是C.OOPS。这不是一个<代码>布尔< /COD>那么OP吗?是的,OP也没有使用正确的语法。谢谢你的答案,java是我要找的语言,抱歉我忘了加上原来的C.是这个java的正确答案。是的。和我的答案几乎是一样的C++。叶。我是说字符数组对不起
// boolean - not bool.
public static boolean isPalindrome(char[] s) {
int n = s.length; // get the array length.
for (int i = 0; i < (n / 2) + 1; ++i) {
if (s[i] != s[n - i - 1]) { // access the characters at their positions.
return false;
}
}
// must be a palindrome.
return true;
}