【每日一题】【双指针/栈/reverse】2022年2月19日-判断是否为回文字符串

给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文。如果是回文请返回true,否则返回false。
 
字符串回文指该字符串正序与其逆序逐字符一致。
 
数据范围:0 < n \le 10000000<n1000000
要求:空间复杂度 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或者栈

posted @   哥们要飞  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2021-02-19 IDea常用快捷键
2021-02-19 Spring04:JdbcTemplate及事务控制(AOP、XML、注解)
点击右上角即可分享
微信分享提示