我正在解决以下问题:
实现用于反转字符串中单词的函数。您的 功能应该使用O(1)空间。例如:"我喜欢炸玉米饼" => " tacos爱我"
这是我在Python中提出的代码:
def reverseSentence(sentence):
sentence =sentence.split()
for i in range((len(sentence)/2)):
sentence[i], sentence[len(sentence)-1-i] = sentence[len(sentence)-1-i], sentence[i]
return " ".join(sentence)
print reverseSentence("I love tacos")
# Outputs: tacos love I
最终我担心这是否被认为是O(1)空间复杂性,因为:
1)我使用sentence = sentence.split()
。句子没有被改变,而是我改变句子并将其分配回变量sentence
。
2)我使用pythons a,b = b,a
进行交换。这在空间复杂性方面如何被感知?