为了更好的阅读体检,可以查看我的算法学习网代码编辑器
题目描述
某公司为了更高效的编写代码,邀请你开发一款代码编辑器程序。
程序的输入为 已有的代码文本和指令序列,程序需输出编辑后的最终文本。指针初始位置位于文本的开头。
支持的指令( X X X为大于等于 0 0 0的整数, w o r d word word 为无空格的字符串):
- F O R W A R D FORWARD FORWARD X X X 指针向前(右)移动 X X X,如果指针移动位置超过了文本末尾,则将指针移动到文本末尾。
- B A C K W A R D BACKWARD BACKWARD X X X 指针向后(左)移动 X X X,如果指针移动位置超过了文本开头,则将指针移动到文本开头。
- S E A R C H − F O R W A R D SEARCH-FORWARD SEARCH−FORWARD w o r d word word 从指针当前位置向前查找 w o r d word word 并将指针移动到 w o r d word word的起始位置,如果未找到则保持不变。
- S E A R C H − B A C K W A R D SEARCH-BACKWARD SEARCH−BACKWARD w o r d word word 在文本中向后查我 w o r d word word 并将指针移动到 w o r d word word的起始位置,如果未找到则保持不变。
- I N S E R T INSERT INSERT w o r d word word 在指针当前位置前插入 w o r d word word,并将指针移动到 w o r d word word的结尾。
- R E P L A C E REPLACE REPLACE w o r d word word 在指针当前位置替换并插入字符(删除原有字符,并增加新的字符)
- D E L E T E DELETE DELETE X X X 在指针位置删除 X X X个字符。
输入描述
输入的第一行为命令列表的长度 K K K
输入的第二行为文件中的原始文本
接下来的 K K K行,每行为一个指令
输出描述
编辑后的最终结果
备注
文本最长长度不超过 256 K 256K 256K
样例
输入
1
ello
INSERT h
输出
hello
说明
在文本开头插入
输入
2
hllo
FORWARD 1
INSERT e
输出
hello
说明
在文本的第一个位置插入
输入
2
hell
FORWARD 1000
INSERT 0
输出
hello
说明
在文本的结尾插入
输入
1
hello
REPLACE HELLO
输出
HELLO
说明
替换
输入
1
hello
REPLACE HELLO_WORLD
输出
HELLO_WORLD
说明
超过文本长度替换
输入
2
hell
FORWARD 10000
REPLACE O
输出
hello
说明
超出文本长度替换
题目内容均收集自互联网,如若此项内容侵犯了原著者的合法权益,可联系我: (CSDN网站注册用户名: 塔子哥学算法) 进行删除