Posted on 2023-02-02 21:07
Uriel 阅读(46)
评论(0) 编辑 收藏 引用 所属分类:
字符串处理 、
闲来无事重切Leet Code
给出26个字母的另一种顺序以及这个顺序下的几个单词,问是否符合字母序。
用dict构建原本的26个字母和新字母序列的映射,将新序的单词映射回原始26个字母序,再直接对比相邻字符串
1 #953
2 #Runtime: 18 ms (Beats 91.10%)
3 #Memory: 13.4 MB (Beats 76.87%)
4
5 class Solution(object):
6 def isAlienSorted(self, words, order):
7 """
8 :type words: List[str]
9 :type order: str
10 :rtype: bool
11 """
12 ori_id = dict()
13 a = "abcdefghijklmnopqrstuvwxyz"
14 for i in range(26):
15 ori_id[order[i]] = a[i]
16 for i in range(len(words)):
17 trans_s = []
18 for j in words[i]:
19 trans_s.append(ori_id[j])
20 trans_s = ''.join(trans_s)
21 if i == 0:
22 pre = trans_s
23 else:
24 if pre > trans_s:
25 return False
26 pre = trans_s
27 return True