栈的应用(二)
来源:互联网 发布:风人之戒,不可慎乎 编辑:程序博客网 时间:2024/05/21 20:28
栈的应用二 行编辑程序
当用户发现刚刚刚输入的一个字符是错的时,可补进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“@”,以表示当前行中的字符均无效;
思路:
每当拿到一个字符后进行判别:
如果它既不是退格符也不是换行符,则将该字符压入栈顶;如果是一个退格符,判断栈内是否为空,不为空则从栈顶删去一个字符;如果它是一个退行符,则将字符栈清为空栈;
代码如下:
import java.util.ArrayList;import java.util.LinkedList;public class Compile { public static void main(String[] args) { System.out.println(lineEdit("{[]@([])##}")); } public static String lineEdit(String cc){ LinkedList<Character> stack=new LinkedList<Character>(); int len = cc.length(); for (int i = 0; i < len; i++) {switch (cc.charAt(i)) {case '#':if(stack.size()!=0){stack.pop();break;}case '@':stack.clear();break;default:stack.push(cc.charAt(i));break;} } ArrayList<Character> li = new ArrayList(stack); StringBuffer sbr=new StringBuffer(); for (int i = li.size()-1; i >-1; i--) {sbr.append(li.get(i));} return sbr.toString(); } }
0 0
- 栈的应用(二)
- 【八】栈的应用实例(二)
- 栈的应用实战二
- 事务的应用(二)
- 序列的应用(二)
- JList的应用(二)
- 递归的应用(二)
- PowerDesigner的应用(二)
- JTable的应用(二)
- 递归的应用(二)
- 栈和队列(二):栈的应用举例
- 计算后缀表达式的值(栈应用二)
- 栈的应用(二)——01背包问题
- 栈的应用之表达式求值(二)
- 08.栈(二)栈的应用
- 数据结构(二)--栈的应用(数制转换器)
- 实验二 栈和队列的应用
- 标准函数的应用(二)
- 关于java中的OutOfMemory种类和解决方法
- 基于Mycat的数据库切分方案和Join探索
- 112. Path Sum
- 蓝桥-图5-广度优先遍历-转机最少
- 浏览器分别在哪些情况下使用get方式和post方式访问web服务器
- 栈的应用(二)
- 【Oracle数据库】分组函数
- Ubuntu 14.04 搭建Nexus Maven 私服
- Sublime Text安装Emmet(Mac)
- wifi网络接入原理(上)——扫描Scanning
- java常用api
- 排它锁,共享锁,乐观锁,排它锁
- Linux添加/删除用户和用户组
- 时间日期比较