我在一次采访中被问到这个问题。我从招聘人员那里得到反馈,说我没有及时解决这个问题。我想知道为什么这个解决方案不到位?我错过了什么?你知道吗
输入是字符列表,如['h'、'o'、'w'、''、'a'、'r'、'e'、''、'y'、'o'、'u'、'?']. 输出应该是字符串,如?你是怎样的。你知道吗
charArr = ['h','o','w',' ','a','r','e',' ','y','o','u','?']
#output = ?you are how
class Solution():
def reverseStr(self,charArr):
charArr = ''.join(charArr).split()[::-1]
for i in range(len(charArr)):
if not charArr[i][-1].isalnum():
charArr[i] = charArr[i][-1] + charArr[i][:-1]
print ' '.join(charArr)
s1 = Solution()
s1.reverseStr(charArr)
就地解决方案永远不会为作为参数传递的列表分配新值,因为如果这样做,调用方传递的列表的值在调用后不会更改。你知道吗
您可以看到,在发布代码之后执行
print(charArr)
时,它只会打印原始列表。你知道吗可以使用
reverse()
方法反转列表中的值。语法list[start:end] = ...
也可以用来改变列表。你知道吗以下是正确解决挑战的方法:
相关问题 更多 >
编程相关推荐