zoukankan      html  css  js  c++  java
  • LeetCode 125 _ 字符串

    1. 题目描述

    https://leetcode-cn.com/problems/valid-palindrome/

    2. 代码

     1 class Solution:
     2     def isPalindrome(self, s: str) -> bool:
     3         S = list()#定义一个列表,模拟栈
     4         Q = list()#定义一个离诶包,模拟队列
     5         if len(s) == 0:#空字符串,被当作是回文字符串
     6             return True
     7         s = s.lower()#将原字符串转化为小写
     8         for c in s:#如果当前字符是小写字母(a~z)或者数字(0~9)
     9             if (ord(c) >= 97 and ord(c) <= 122) or (ord(c) >= 48 and ord(c) <= 57):
    10                 S.append(c)#添加到栈中
    11                 Q.append(c)#添加到队列中
    12         while len(S) > 0:
    13             ss = S.pop(-1)#栈取栈顶元素(尾部)
    14             qq = Q.pop(0)#队列取队头元素(首部)
    15             if ss != qq:#如果字符不相同,则表示不是回文
    16                 return False
    17         return True#如果所有字符都比对完毕,没有发现不相同的字符,则是回文

    3. 语法整理

    3.1 lower()方法, 转换字符串中所有大写字符为小写.

    str.lower()
    

    3.2 ord(), 以一个字符(长度为1的字符串)作为参数, 返回对应的 ASCII 数值, 或者 Unicode 数值.

    ord(c)

    返回值为对应的十进制整数. 如:

    >>>ord('a')
    97
    >>> ord('b')
    98
    >>> ord('c')
    99
    

    3.3 26个字母大小写的ASCII码值:

    小写:
    a → 97,   b → 98,  c → 99,   d → 100,  e → 101,    f → 102,
    g → 103, h → 104, i → 105,  j → 106,  k → 107,     l → 108,
    m → 109,n → 110, o → 111, p→ 112,   q → 113,     r → 114,
    s → 115,  t → 116,  u → 117,v → 118,   w → 119,    x → 120, y → 121, z → 122

    大写:
    A → 65,B → 66,C → 67,  D → 68,  E → 69,
    F → 70,G → 71,H → 72,  I → 73,   J → 74,
    K → 75,L → 76, M → 77, N → 78,  O → 79,
    P → 80,Q → 81,R → 82,  S → 83,  T → 84,
    U → 85,V → 86,W → 87, X → 88,  Y → 89,Z → 90

    数字:

    0 → 48,1 → 49,2 → 50,  3 → 51,   4 → 52,
    5 → 53,6→ 54, 7 → 55,  8 → 56,   9 → 57

    3.4 pop(), 用于移除列表中的一个元素(默认最后一个元素), 并且返回该元素的值.

    1 list.pop([index=-1])
    1 list1 = ['Google', 'Runoob', 'Taobao']
    2 list_pop=list1.pop(1)
    3 print ("删除的项为 :", list_pop)
    4 print ("列表现在为 : ", list1)

    输出为:

    1 删除的项为 : Runoob
    2 列表现在为 :  ['Google', 'Taobao']

    3.5 栈和队列

       栈:  先进后出

    队列:  先进先出

     

  • 相关阅读:
    java中Calendar类里面的月份是月份数减一。
    hdu oj
    存在重复元素
    杨辉三角
    删除链表的倒数第n个结点
    相交链表
    环形链表 II
    环形链表
    至少是其他数字两倍的最大数
    寻找数组的中心索引
  • 原文地址:https://www.cnblogs.com/vvzhang/p/13726519.html
Copyright © 2011-2022 走看看