|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
今天的题目:
给定一组没有重复元素的单词 word,找出所有不同的索引对 (c, d),使得 words[c] + words[d] 可拼接成一个回文串。
示例 1:
输入:["abcd", "dcba", "lls", "s", "sssll"]
输出:[[0, 1], [1, 0], [3, 2], [2,4]]
解释:可拼接成的回文串为 ["dcbaabcd", "abcddcba", "slls", "llssssll"] 示例 2:
输入:["bat", "tab", "cat"]
输出:[[0, 1], [1, 0]]
解释:可拼接成的回文串为 ["battab", "tabbat"]
 欢迎大家一起答题! 
- def fun357(word):
- result = []
- dict1 = {a: i for i, a in enumerate(word)}
- for i, a in enumerate(word):
- ma = len(a)
- for j in range(ma + 1):
- sa, st = a[:j], a[j:]
- ssa, sst = sa[::-1], st[::-1]
- if sa == ssa and sst in dict1:
- m = dict1[sst]
- if m != i: result.append([m, i])
- if j != ma and st == sst and ssa in dict1:
- result.append([i, dict1[ssa]])
- return result
复制代码
|
|