力扣2296.设计一个文本编辑器

力扣2296.设计一个文本编辑器

  • 对顶栈

    • 将光标看作左右栈的分隔
    • 添加元素:往左栈添加元素
    • 删除元素:从左栈删除元素
    • 光标左(右)移:左(右)栈元素加到右(左)栈
cpp 复制代码
  class TextEditor {
      string left,right;
  public:
      TextEditor() {
  
      }
      
      void addText(string text) {
          left += text;
      }
      
      int deleteText(int k) {
          k = min(k,(int)left.size());
          left.resize(left.size() - k);
          return k;
      }
      
      string text()
      {
          return left.substr(max((int)left.size() - 10,0));
      }
      string cursorLeft(int k) {
          for(;k && !left.empty();k--)
          {
              right += left.back();
              left.pop_back();
          }
          return text();
      }
      
      string cursorRight(int k) 
      {
          for (; k && !right.empty(); --k) 
          {
              left += right.back();
              right.pop_back();
          }
          return text();
      }
  };
相关推荐
dllxhcjla11 分钟前
三大特性+盒子模型
java·前端·css
小白程序员成长日记13 分钟前
2025.11.06 力扣每日一题
算法·leetcode
Acrelhuang15 分钟前
筑牢用电防线:Acrel-1000 自动化系统赋能 35kV 园区高效供电-安科瑞黄安南
java·大数据·开发语言·人工智能·物联网
脸大是真的好~19 分钟前
黑马JAVAWeb-10 文件上传-文件存储到服务器本地磁盘-文件存储在阿里云OSS-@Value属性注入
java
暴风鱼划水24 分钟前
算法题(Python)数组篇 | 4.长度最小的子数组
python·算法·力扣
gugugu.25 分钟前
算法:二分算法类型题目总结---(含二分模版)
算法
大G的笔记本29 分钟前
算法篇常见面试题清单
java·算法·排序算法
亚林瓜子32 分钟前
Spring中的异步任务(CompletableFuture版)
java·spring boot·spring·async·future·异步
MuYiLuck39 分钟前
redis持久化与集群
java·数据库·redis
一叶飘零_sweeeet44 分钟前
Java 项目 HTTP+WebSocket 统一权限控制实战
java·websocket·http·权限控制