国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

棧的應用(二)

2019-11-11 02:04:40
字體:
來源:轉載
供稿:網友

棧的應用二 行編輯程序

當用戶發現剛剛剛輸入的一個字符是錯的時,可補進一個退格符“#”,以表示前一個字符無效;如果發現當前鍵入的行內差錯較多或難以補救,則可以鍵入一個退行符“@”,以表示當前行中的字符均無效;

思路:

每當拿到一個字符后進行判別:

如果它既不是退格符也不是換行符,則將該字符壓入棧頂;如果是一個退格符,判斷棧內是否為空,不為空則從棧頂刪去一個字符;如果它是一個退行符,則將字符棧清為空棧;

代碼如下:

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(); 	 }	 }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浦东新区| 金阳县| 呼图壁县| 姜堰市| 永泰县| 海门市| 若羌县| 万山特区| 文水县| 屏山县| 江达县| 调兵山市| 石门县| 乌鲁木齐县| 出国| 徐水县| 崇文区| 惠来县| 东方市| 阳谷县| 四平市| 平乐县| 奇台县| 买车| 龙口市| 凤凰县| 遂溪县| 漠河县| 龙南县| 察雅县| 米脂县| 泰兴市| 奎屯市| 绥德县| 温州市| 和田县| 大连市| 翼城县| 平武县| 永胜县| 泗阳县|