Skip to content

Latest commit

 

History

History

2296.Design-a-Text-Editor

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

2296.Design-a-Text-Editor

解法1:链表

本题需要有一种线性的数据结构,能有一个灵活的指针,可以o(1)地删除和添加指向的内部元素,并且依然可以o(1)的时间左移右移。显然这就是链表。

C++里面自带链表结构:

list<char>List;

该链表的迭代器就是指针

list<char>::iterator iter;

解法2:两个栈

我们以指针为界,左边的部分放入一个栈,右边的部分放入一个栈。删除就意味着将弹出左边栈的顶部元素即可。打印的话,因为不超过10个字符,所以从栈顶拿出10个字符暂存下来再放回去就可以了。