【每日一题】【双指针/栈/reverse】2022年2月19日-判断是否为回文字符串
给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文。如果是回文请返回true,否则返回false。
字符串回文指该字符串正序与其逆序逐字符一致。
数据范围:0 < n \le 10000000<n≤1000000
要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 待判断的字符串 * @return bool布尔型 */ public boolean judge (String str) { if(str.length() <= 1) { return true; } char[] arr = str.toCharArray(); int i = 0, j = arr.length - 1; int mid = i + ((j - i) >> 1); while(i <= mid) { if(arr[i] != arr[j]) { return false; } i++; j--; } return true; } }
其他:
String的reverse或者栈
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/15913737.html