不反转数字的字符反转[关闭]

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

【讨论】:

以上是关于不反转数字的字符反转[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

P1307 数字反转

反转字符串C++ [关闭]

如何在 C++ 中反转字符数组? [关闭]

用于反转字符串中单词的程序[关闭]

使用Python反转字符串中的单词[关闭]

在sql server中仅反转字符串的数字部分