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;
        }
    };
    
  • 相关阅读:
    Django内置Admin解析
    python项目 配置文件 的设置
    Django---信号
    bash配置文件
    week4 作业
    shell基础练习题
    shell基础
    shell变量与运算
    week3 作业
    文件权限管理
  • 原文地址:https://www.cnblogs.com/libaoquan/p/7364847.html
Copyright © 2011-2022 走看看