def palchecker(aString):
    """回文判断
    参数:
        aString: String
            回文字符串
    返回值:
        stillEqual: bool
            是否为回文字符串,True则是,False则不是
    """
    chardeque = Deque()

    # 把回文字符串存放到双端队列
    for ch in aString:
        chardeque.addRear(ch)

    stillEqual = True

    # 在双端队列长度大于1时(因为要每次移除队首跟队尾做判断,而回文长度是奇数的时候最后会剩下一个,此时不做操作)
    while chardeque.size() > 1 and stillEqual:
        first = chardeque.removeFront()
        last = chardeque.removeRear()
        if first != last:
            stillEqual = False

    return stillEqual
Esempio n. 2
0
def palindromeChecker(inString):
    isPalindrome = True
    characterDeque = Deque()
    for character in inString:
        characterDeque.addFront(character)
    
    while isPalindrome and characterDeque.size() > 1:
        if characterDeque.removeFront() != characterDeque.removeRear():
            isPalindrome = False
    return isPalindrome
Esempio n. 3
0
def cycleCheck(st):
    dq = Deque()
    for i in st:
        dq.addFront(i)
    isCyC = True
    while dq.size() > 1:
        if dq.removeFront() != dq.removeRear():
            isCyC = False
            break
    return isCyC
Esempio n. 4
0
def pal_checker(string):
    deque = Deque()
    for i in string:
        deque.addFront(i)
    while deque.size() > 1:
        front = deque.removeFront()
        rear = deque.removeRear()
        if front != rear:
            return False
    return True
def palindrome_check(inputStr):
    lettersDeq = Deque()
    for letter in inputStr.lower():
        lettersDeq.addRear(letter)
    palindrome = True
    while (lettersDeq.size() > 1) and palindrome:
        left = lettersDeq.removeRear()
        right = lettersDeq.removeFront()
        if left != right:
            palindrome = False
    return palindrome
Esempio n. 6
0
def palChecker(aString):
    chardeque = Deque()
    for ch in aString:
        chardeque.addRear(ch)
    flag = True
    while chardeque.size() > 1 and flag:
        first = chardeque.removeFront()
        last = chardeque.removeRear()
        if first != last:
            flag = False
    return flag
def palChecker(str1):
    flag = True
    charDeque = Deque()
    for ch in str1:
        charDeque.addRear(ch)
    while charDeque.size() > 1 and flag==True:
        first = charDeque.removeFront()
        last = charDeque.removeRear()
        if first != last:
            flag = False
    return flag
Esempio n. 8
0
def palchecker(aString):
    chardeque = Deque()
    for ch in aString:
        chardeque.addRear(ch)
    stillEqual = True
    while chardeque.size() > 1 and stillEqual:
        first = chardeque.removeFront()
        last = chardeque.removeRear()
        if first != last:
            stillEqual = False
    return stillEqual
Esempio n. 9
0
def palchecker(string):
    charDeque = Deque()

    for ch in string:
        charDeque.addRear(ch)
    stillOK = True

    while charDeque.size() > 1 and stillOK:
        if charDeque.removeFront() != charDeque.removeRear():
            stillOK = False
    return stillOK
def palchecker(string):
    chars = Deque()
    for char in string:
        chars.addRear(char)

    stillEqual = False
    while chars.size() > 1:
        first = chars.removeRear()
        last = chars.removeFront()
        if first == last:
            stillEqual = True
    return stillEqual
Esempio n. 11
0
def palcheck(palstr):
    q1 = Deque()
    stilBal = True
    for i in palstr:
        q1.addFront(i)

    while q1.size() > 1 and stilBal:
        first = q1.removeFront()
        last = q1.removeRear()
        if first != last:
            stilBal = False
    return stilBal
Esempio n. 12
0
def check(test_str):
    char_deque = Deque()

    for ch in test_str:
        char_deque.addFront(ch)
    still_equal = True
    while still_equal and char_deque.size() > 1:
        first = char_deque.removeFront()
        end = char_deque.removeRear()
        if first != end:
            still_equal = False
        return still_equal
Esempio n. 13
0
def judestring(astring):
    chardeque = Deque()
    for ch in astring:
        chardeque.addRear(ch)
        chardeque.isEmpty
    still = True
    while chardeque.size() > 1 and still:
        first = chardeque.removeFront()
        last = chardeque.removeRear()
        if first != last:
            still = False
    return still
Esempio n. 14
0
def palchecker(string):
    # 1.将字符串加入队列
    deq = Deque()
    for s in string:
        deq.addRear(s)
    still_equal = True
    while deq.size() > 1 and still_equal:
        first = deq.removeFront()
        last = deq.removeRear()
        if first != last:
            still_equal = False
    return still_equal
Esempio n. 15
0
def checkPalindrome(cString):
    charDeque = Deque()
    for ch in cString:
        charDeque.addRear(ch)
    stillEqual = True
    if charDeque.size() > 1:
        first = charDeque.removeFront()
        last = charDeque.removeRear()
        if first != last:
            stillEqual = False

    return stillEqual
Esempio n. 16
0
def palChecker(aString):
    charDeque = Deque()
    for ch in aString:
        charDeque.addFront(ch)
    # print(charDeque.size())

    stillEqual = True
    while charDeque.size() > 1 and stillEqual:
        first_ch = charDeque.removeFront()
        last_ch = charDeque.removeRear()
        if first_ch != last_ch:
            stillEqual = False
    return stillEqual
Esempio n. 17
0
def palchecker(astring):
    a = Deque()
    for ch in astring:
        a.addRear(ch)
    StillEqual = True

    while a.size() > 1 and StillEqual:
        first = a.removeRear()
        last = a.removeFront()

        if first != last:
            StillEqual = False
    return StillEqual
def palindromChecker(word):
    de = Deque()
    for w in word:
        de.addRear(w)

    stillEqual = True
    while de.size() > 1 and stillEqual:
        f = de.removeFront()
        r = de.removeRear()
        if f != r:
            return False

    return stillEqual
def checker(string):
    charqueue = Deque()

    for char in string:
        charqueue.addRear(char)

    stillEqual = True

    while charqueue.size() > 1 and stillEqual:
        if charqueue.removeFront() != charqueue.removeRear():
            stillEqual = False

    return stillEqual
Esempio n. 20
0
def palchecker(target):
    depue = Deque()

    for c in target:
        depue.addRear(c)

    while depue.size() > 0:
        if depue.removeFront() == depue.removeRear():
            continue
        else:
            print("It is not pal")
            break
    else:
        print("It is pal")
Esempio n. 21
0
def palchecker(aString):
    s = Deque()

    for ch in aString:
        s.addRear(ch)#添加到尾部

    found = True

    while s.size() > 1 and found:
        first = s.removeFront()#移除首项
        last = s.removeRear()#移除尾部
        if first != last:
            found = False
    return found
Esempio n. 22
0
def palchecker(aString):  #字符串定义函数
    chardeque = Deque()  #创建双端队列

    for ch in aString:  #for循环将字符串aString中每个字符一一提取出来,加入到队列的末尾Rear
        chardeque.addRear(ch)

    stillEqual = True

    while chardeque.size() > 1 and stillEqual:
        first = chardeque.removeFront()  #从队首移除字符
        last = chardeque.removeRear()  #从队尾移除字符
        if first != last:  #判断队首与队尾是否Equal相等
            stillEqual = False
    return stillEqual
Esempio n. 23
0
def palindrome_checker(newString):
    aDeqeue = Deque()
    for item in newString:
        aDeqeue.addRear(item)

    Status = "String is Palindrome"

    while aDeqeue.size() > 1 and Status:
        front = aDeqeue.removeFront()
        rear = aDeqeue.removeRear()

        if front != rear:
            Status = "String NOT Palindrome"

    return Status
Esempio n. 24
0
def check(aString):
    dqueue = Deque()
    """遍历字符串加入到队列中"""
    for ch in aString:
        dqueue.addRear(ch)

    Equal = True
    """最终队列剩下的个数为0或者1为成功"""
    while dqueue.size() > 1 and Equal:
        first = dqueue.removeFront()
        last = dqueue.removeRear()
        """队列前面取一个、后面取一个、如果二者不想等,则不匹配,返回False"""
        if first != last:
            Equal = False

    return Equal
Esempio n. 25
0
def palindrome_check(palindrome_string):

    deque = Deque()
    isEqual = True

    for ch in palindrome_string:
        deque.addRear(ch)

    while deque.size() > 1 and isEqual:
        """取首尾字符进行比较"""
        begin = deque.removeFront()
        end = deque.removeRear()
        if begin != end:
            isEqual = False

    return isEqual
Esempio n. 26
0
def palchecker(aString):
    chardeque = Deque()

    for i in range(len(aString)):
        if aString[i] != " ":
            chardeque.addRear(aString[i])

    stillEqual = True

    while chardeque.size() > 1 and stillEqual:
        first = chardeque.removeFront()
        last = chardeque.removeRear()
        if first != last:
            stillEqual = False

    return stillEqual
def palchecker(aString):
    aString = aString.translate(None, string.whitespace).upper()

    chardeque = Deque()

    for ch in aString:
        chardeque.addRear(ch)

    stillEqual = True

    while chardeque.size() > 1 and stillEqual:
        first = chardeque.removeFront()
        last = chardeque.removeRear()
        if first != last:
            stillEqual = False

    return stillEqual
Esempio n. 28
0
def palchecker(aString):
    """
    功能:回文字符串检测,如:'adsda','asddsa'
    实现:使用双向队列(deque)实现,将字符串加入双向队列,循环取首尾字符比对,直到队列长度不大于1
    :param aString: 回文字符串
    :return: bool
    """
    chardeque = Deque()
    for i in aString:
        chardeque.addRear(i)
    stillEqual = True
    while chardeque.size() > 1 and stillEqual:
        front = chardeque.removeFront()
        rear = chardeque.removeRear()
        if front != rear:
            stillEqual = False

    return stillEqual
Esempio n. 29
0
def palchecker(aString):
    chardeque = Deque()

    for ch in aString:
        chardeque.addRear(ch)

    stillEqual = True

    while chardeque.size() > 1 and stillEqual:
        first = chardeque.removeFront()
        last = chardeque.removeRear()

        while (first == ' ' or last == ' ') and chardeque.size() >= 1:
            if first == ' ':
                first = chardeque.removeFront()
            else:
                last = chardeque.removeRear()

        if first != last and not (first == ' ' or last == ' '):
            stillEqual = False

    return stillEqual
Esempio n. 30
0
def palchecker(aString):
    # create a deque object
    chardeque = Deque()
    # create a loop feed string to deque object
    # one char after another from the back
    # to have O(1) time
    for ch in aString:
        chardeque.addRear(ch)
    # make it true for now as initial status
    stillEqual = True
    # loop to compare first letter and last letter
    while chardeque.size() > 1 and stillEqual:
        # pop out letters from both ends of the deque
        # compare first and last letters
        first = chardeque.removeFront()
        last = chardeque.removeRear()
        # once find difference
        # end loop and return False to the program
        # meaning it is not a pal letter
        if first != last:
            stillEqual = False

    return stillEqual