单次通过单词反转字符串

标签 string algorithm

是否有任何算法/技术可以在单次通过中完成单词的字符串反转,时间复杂度为 O(n),空间复杂度为 O(1)。

最佳答案

不,这是不可能一次性完成的,除非您已经知道每个单词的长度或被允许使用某种缓冲区。

试一试:

HELLO SAM
 ^
becomes
SAM HELLO
     ^

如果您只知道 E(因为这是您的第一次/唯一一次通过,并且不允许您存储任何数据),您不可能知道它需要交换到空格字符当前所在的位置。一旦您到达该空间并找到 E 所属的位置,再次检索 E 为时已晚。

关于单次通过单词反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648333/

相关文章:

algorithm - 如何计算该图像中的 Blob 数?

c++ - 数组中最近点的索引,每个点包含3个元素

C++大字符串初始化及使用

c++ - 在字符串数组中动态创建和存储数据

python - 如何使用多个分隔符拆分 python 字符串?

algorithm - 我们可以对未排序的数组使用二分查找吗?

java - 如何找到 String.indexOf ("\")?

java - 在 java : O(n) 中查找字符串中字符频率的有效方法

python - 背包Python函数

algorithm - 随着时间的推移展开/平滑周期性任务