zoukankan      html  css  js  c++  java
  • lintcode-415-有效回文串

    415-有效回文串

    给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。

    注意事项

    你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。
    在这个题目中,我们将空字符串判定为有效回文。

    样例

    "A man, a plan, a canal: Panama" 是一个回文。
    "race a car" 不是一个回文。

    挑战

    O(n) 时间复杂度,且不占用额外空间。

    标签

    两根指针 字符串处理 Zenefits 优步 脸书

    思路

    消除原串中的非字母或数字字符,并将大学字母转换为小写字母,之后便是一般的回文串判断

    code

    class Solution {
    public:
        /*
         * @param s: A string
         * @return: Whether the string is a valid palindrome
         */
        bool isPalindrome(string s) {
            // write your code here
            int size = s.size();
            if (size <= 0) {
                return true;
            }
            int cur = 0;
            for (int i = 0; i < size; i++) {
                if (s[i] <= 'Z' && s[i] >= 'A') {
                    s[cur] = s[i] - 'A' + 'a';
                    cur++;;
                }
                else if (s[i] <= 'z' && s[i] >= 'a' || s[i] <= '9' && s[i] >= '0') {
                    s[cur] = s[i];
                    cur++;
                }
            }
            for (int i = 0; i < cur / 2; i++) {
                if (s[i] != s[cur - 1 - i]) {
                    return false;
                }
            }
            return true;
        }
    };
    
  • 相关阅读:
    linux 解压文件
    linux 文件夹操作
    adb 安装apk报INSTALL_FAILED_NO_MATCHING_ABIS
    Android Tab类型主界面 Fragment+TabPageIndicator+ViewPager
    Android 图表
    Android Manifest文件
    BroadcastReceiver介绍
    Android dimen
    Android Dialog
    Android 获取加速传感器的值,并去除杂音
  • 原文地址:https://www.cnblogs.com/libaoquan/p/7364847.html
Copyright © 2011-2022 走看看