Advertisement

故障键盘(双端队列模拟)

阅读量:

文章结构概览

    • 1. 课题出处
      • 2. 课题分析

1. 题目来源

链接:2810. 故障键盘

2. 题目解析

这是一道较为直观的题目,但需留意处理过程中所耗费的时间。

方案一:

  • 采用直接排序的方式进行处理即可。

方案二:

  • 利用双端队列结构,当未遇到字符 i 时,可按顺序将字符添加至队列末尾,即实现向右扩展。
  • 当遇到字符 i 时,则需调整方向,改为向左扩展。

方案二具有较高的可行性,但在具体实现时也应注意代码的编写方式。


  • 时间复杂度O(n)
  • 空间复杂度O(1)

方案一:

复制代码
    class Solution {
    public:
    string finalString(string s) {
        string res = "";
        for (char c : s) {
            if (c == 'i') reverse(res.begin(), res.end());
            else res += c;

全部评论 (0)

还没有任何评论哟~