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

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

棧的應(yīng)用(二)

2019-11-11 01:29:12
字體:
供稿:網(wǎng)友

棧的應(yīng)用二 行編輯程序

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

思路:

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

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

代碼如下:

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新郑市| 邹城市| 呼图壁县| 保山市| 方城县| 大姚县| 长乐市| 旬邑县| 泸水县| 商水县| 兴安盟| 阳曲县| 科技| 额济纳旗| 秦安县| 方城县| 陵水| 资兴市| 同江市| 花莲市| 日照市| 甘肃省| 谢通门县| 象州县| 独山县| 曲松县| 元江| 石嘴山市| 内丘县| 竹北市| 康乐县| 陇西县| 武义县| 明溪县| 西华县| 封开县| 娱乐| 大方县| 娱乐| 岐山县| 昌乐县|