第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么要用【?!縼頇z測字符串“111(222)333”中包含的小括號是否配對。。。求指點(diǎn)

為什么要用【棧】來檢測字符串“111(222)333”中包含的小括號是否配對。。。求指點(diǎn)

迷失代碼林 2017-04-24 01:13:01
剛學(xué)到數(shù)據(jù)結(jié)構(gòu),奇怪的是第一次找不到這類的視頻了,一搜全是C語言的,書上又說的不夠清楚。這個題目一眼看到我就會聯(lián)想到去用String的方法或數(shù)組來解答,書上用棧來解答說明這是棧的一個典型用法,那么能體現(xiàn)棧的什么優(yōu)點(diǎn)呢?書上的解題代碼:????Stack?ss?=new?SequenceStack();//定義棧對象 ????String?s="111(222)333; ????int?size=s.length(); ????boolean?flag?=false; ????for(int?i=0;i<size;i++){ ????????char?c=s.charAt(i); ????????switch(c){ ????????????case?40://左括號“(” ????????????ss.push("(");//入棧 ????????????break; ????????????case?41://右括號“)” ????????????if(ss.pop().equals(")"){ ????????????????flag=true; ????????????} ????????} ????} ????System.out.print("括號配對為:"+flag);書上有分析說“可以使用棧來存儲字符串中的小括號。遍歷字符串中的每個字符,遇到‘(’則入棧,遇到‘)’則出棧,查看出棧的元素是否為‘)’,如果為‘)’則配對,否則不配對”。如果字符串就只有這么半個括號,flag不也是為true嗎,但事實半個括號明顯是不完整的,都不成對,就更談不上配對了啊。還有上面的分析里說左括號進(jìn)棧我理解,右括號出棧我就不理解了,不要它可以不讓它進(jìn)棧,可是根本沒讓它進(jìn)棧過又怎么讓它出棧呢?所謂難者不會,會者不難,我在這上面浪費(fèi)很多時間了,請各位高手幫忙指點(diǎn)迷津,謝謝了!
查看完整描述

1 回答

已采納
?
Caballarii

TA貢獻(xiàn)1123條經(jīng)驗 獲得超629個贊

碰到左括號就進(jìn)棧,碰到右括號是把棧里的左括號出棧一個,這樣一對括號就匹配了。最后結(jié)果有三種情況

  1. 運(yùn)行結(jié)束了棧不是空的,說明左括號比右括號多,括號不匹配

  2. 運(yùn)行結(jié)束棧空了,說明左右括號一樣多,匹配了

  3. 運(yùn)行過程中棧為空的時候又碰到右括號要求出棧,說明這個右括號沒有左括號匹配,括號不匹配

查看完整回答
1 反對 回復(fù) 2017-04-24
  • Caballarii
    Caballarii
    你貼的這段代碼錯漏百出,也運(yùn)行不出正確結(jié)果
  • 迷失代碼林
    迷失代碼林
    是的,書上就這么寫的,把我看暈了。經(jīng)你這么一說我懂了,謝謝指點(diǎn)!
  • 1 回答
  • 0 關(guān)注
  • 1524 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號