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

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

棧的應用(二)

2019-11-11 02:05:46
字體:
來源:轉載
供稿:網友

棧的應用二 行編輯程序

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

思路:

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

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

代碼如下:

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双辽市| 福州市| 普兰店市| 奈曼旗| 南澳县| 永靖县| 马关县| 鄂托克旗| 瓦房店市| 沅江市| 松滋市| 桐柏县| 德庆县| 辛集市| 宽甸| 南宁市| 漳州市| 辽阳县| 新兴县| 铁岭县| 商河县| 敖汉旗| 长武县| 黑河市| 聂拉木县| 长春市| 高雄市| 黄骅市| 通州区| 永清县| 大埔区| 山阳县| 定南县| 通化县| 宜宾县| 陈巴尔虎旗| 金门县| 红原县| 洛宁县| 洪湖市| 本溪市|