【文件属性】:
文件名称:LeetCode判断字符串是否循环-Queue_Stack:依赖数组实现栈,实现链式队列,实现循环队列,两个栈实现一个队列,两个队列实现一个栈
文件大小:10KB
文件格式:ZIP
更新时间:2021-07-01 05:52:16
系统开源
LeetCode判断字符串是否循环
1、实现链式队列
特点:先进先出
定义Node类,存放队列的data,next
定义Node类的front(头结点),rear(尾结点),int类型的usesize(队列的大小)
定义front和rear的原因:
采用头插的话,队列的插入的时间复杂度是O(1),删除的时间复杂度是O(N);
采用尾插的话,队列的插入的时间复杂度是O(N),删除的时间复杂度是O(1),所以为了不去找头和尾,
我们就定义一个可以很方便的进行插入删除
2、实现栈
依赖数组实现栈
定义一个数组,int型的top表示栈顶(表示当前可以插入元素的位置),usesize表示使用的栈的大小
栈的push和pop要注意top的移动,usesize的增加减小
3、栈的练习题之括号匹配
可以在leetcode上找到
明确,括号的几种情况
1、左右括号匹配
2、左括号多
3、右括号多
4、括号次序不匹配
步骤:
0、遍历给定字符串的每个元素
1、判断元素是否是左括号,若是左括号,则加入到栈中,若不是,执行第二步
2、元素是右括号,判断栈是否为空,若为空,则表示右括号多,否则,执行第三步
3、
【文件预览】:
Queue_Stack-master
----src()
--------main()
----README.md(5KB)
----.idea()
--------vcs.xml(180B)