| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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
 
  复制代码 
 
 
 |   
 
 
 
 |