不反转数字的字符反转[关闭]
Posted
技术标签:
【中文标题】不反转数字的字符反转[关闭]【英文标题】:Character Reversal without reversing numbers [closed] 【发布时间】:2018-08-06 05:57:34 【问题描述】:我需要一个代码来仅反转字母顺序,而不反转数字。 对于前。假设我有: 3 D F 4 B 5 H 6 K(在字符串或数组中)我应该产生输出: 3 K H 4 B 5 F 6 D
【问题讨论】:
你能展示你的方法吗? 您可以扫描输入一次,将每个数字/字符的出现及其索引存储在两个单独的数组中。然后创建第三个数组来反转字母的位置,保持数字的位置相同。或者您可以使用两个索引(一个从开始,一个从结束)一次性完成。 您应该先编码,如果您无法解决,请在 SOF 中提出问题 然而,请通过 github.com/NsrM/hello-world/blob/master/StackOflow1 获取解决您问题的 java 代码。 【参考方案1】:试试这个
def reverse_besides_number(l):
# convert number in list to a dict
# record the index
d = k: v for k, v in enumerate(l) if v.isdigit()
# record the character in list
c = [i for i in l if not i.isdigit()]
c.reverse()
# insert
for key, value in d.items():
c.insert(key, value)
return c
【讨论】:
以上是关于不反转数字的字符反转[关闭]的主要内容,如果未能解决你的问题,请参考以下文章