LeetCode-500-鍵盤行

題目描述:給你一個字符串?dāng)?shù)組
words
,只返回可以使用在 美式鍵盤 同一行的字母打印出來的單詞。示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/keyboard-row/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:遍歷字符
首先,如果words為null或者words為空數(shù)組,則直接返回空數(shù)組,就是沒有符合條件的單詞。
否則,首先初始化一個Map為characterMap用于保存行數(shù)和對應(yīng)行所有的字符,然后遍歷words中的單詞word:
word中的第一個字符為firstCharacter,根據(jù)characterMap判斷第一個字符firstCharacter在哪一行并記錄rowNum;
然后,判斷word后面的字符是否都在第rowNum行,如果不是,則跳過處理下一個單詞;如果是,則把單詞添加到結(jié)果集里面。
最后返回結(jié)果集中的單詞。
【每日寄語】 平平淡淡看世界,踏踏實實寫人生。
標(biāo)簽: