【问题标题】: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 代码。

标签: java python c++ string reverse


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 2021-08-13
    • 2016-01-06
    相关资源
    最近更新 更多