iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
自我挑戰組

30天 Leetcode解題之路系列 第 27

Day 27 - Detect Capital

大家好,我是毛毛。ヾ(´∀ ˋ)ノ
廢話不多說開始今天的解題Day~


520. Detect Capital

Question

We define the usage of capitals in a word to be right when one of the following cases holds:

  • All letters in this word are capitals, like "USA".
  • All letters in this word are not capitals, like "leetcode".
  • Only the first letter in this word is capital, like "Google".

Given a string word, return true if the usage of capitals in it is right.


Example

Example1

Input: word = "USA"
Output: true

Example2

Input: word = "FlaG"
Output: false

Constraints

  • 1 <= word.length <= 100
  • word consists of lowercase and uppercase English letters.

解題

題目

首先先簡單的翻譯一下題目
給一個字串,判斷是不是符合題目的規則。

  • 字母全大寫
  • 字母全小寫
  • 字母只有字首大寫

Think

作法大致上是這樣

  • 先把第一位的字母抓出來判斷字首是大寫還小寫。
  • 如果是大寫:
    • 代表剩下的字母必須都是大寫或都是小寫
    • 減少跑的迴圈次數,從頭跟從尾往中間判斷是不是都是大寫或都是小寫
  • 如果是小寫:
    • 代表剩下的字母必須都是小寫
    • 一樣從頭跟從尾往中間判斷是不是都是小寫

Code

Python

class Solution:
    def isPalindrome(self, x: int) -> bool:
        x = str(x)
        left = 0
        right = len(x)-1
        
        while left < right:
            if x[left] != x[right]:
                return False
            
            left += 1
            right -= 1
            
        return True

Result

  • Python

大家明天見/images/emoticon/emoticon29.gif


上一篇
Day 26 - Palindrome Number
下一篇
Day 28 - Rotate String
系列文
30天 Leetcode解題之路30

尚未有邦友留言

立即登入留言