给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文。如果是回文请返回true,否则返回false。
字符串回文指该字符串正序与其逆序逐字符一致。
数据范围:0<n≤1000000
要求:空间复杂度 O(1),时间复杂度 O(n)
java:
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param str string字符串 待判断的字符串
* @return bool布尔型
*/
public boolean judge (String str) {
// write code here
int i = 0, j = str.length()-1;
while(i<j){
if(str.charAt(i)!=str.charAt(j)){
return false;
}
i++;
j--;
}
return true;
}
}
js:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param str string字符串 待判断的字符串
* @return bool布尔型
*/
function judge( str ) {
// write code here
let left = 0, right = str.length-1;
while(left<right){
if(str[left]!=str[right]){
return false;
}
left++;
right--;
}
return true;
}
module.exports = {
judge : judge
};
注意:
- java中字符串用charAt(),js中用[]
- 记得判断完后两个指针一个增一个减