[LeetCode] 2351. First Letter to Appear Twice
[LeetCode] 2351. First Letter to Appear Twice の解答と解説
問題
https://leetcode.com/problems/first-letter-to-appear-twice/description/
解答
class Solution:
def repeatedCharacter(self, s: str) -> str:
seen = set()
for c in s:
if c in seen:
return c
seen.add(c)
計算量
sの文字数をnとした時、
- Time Complexity: O(n)
- Space Complexity: O(1)* *存在しうる文字列がアルファベット小文字のみのためO(26) = O(1)になる
解説
一度見た文字をhashSetに格納することで初めて重複する文字を瞬時にreturnできる。
重複の判定なので2以上のカウントは不要のため、hashMapよりhashSetを用いた方がシンプルに書ける。