新聞中心
今天小編給大家分享一下JavaScript面試題實(shí)例分析的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
十年品牌的成都網(wǎng)站建設(shè)公司,成百上千家企業(yè)網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn).價(jià)格合理,可準(zhǔn)確把握網(wǎng)頁設(shè)計(jì)訴求.提供定制網(wǎng)站建設(shè)、商城網(wǎng)站制作、重慶小程序開發(fā)、響應(yīng)式網(wǎng)站等服務(wù),我們?cè)O(shè)計(jì)的作品屢獲殊榮,是您值得信賴的專業(yè)網(wǎng)站制作公司。
題目描述
有一個(gè)以字符串形式給出的嵌套數(shù)組,編寫一個(gè)解析器使其反序列化。
數(shù)組的元素為整數(shù)或相同形式的數(shù)組。
注意:你可以認(rèn)為這個(gè)字符串遵從如下規(guī)則:
字符串不為空
字符串不包含空格
字符串僅包含數(shù)字0-9,[,-,],和逗號(hào)“,”。
樣例
樣例一
給定字符串s = “234”,返回一個(gè)只包含一個(gè)整數(shù)234的NestedInteger對(duì)象。
樣例二
給定字符串s = “[123,[456,[789]]]”,返回一個(gè)包含兩個(gè)元素的NestedInteger對(duì)象:
一個(gè)整數(shù)123
一個(gè)NestedInteger的List,其中包含兩個(gè)元素:
一個(gè)整數(shù)456
一個(gè)NestedInteger的List,其中包含一個(gè)元素:
一個(gè)整數(shù)789
解題思路分析
這屬于一道中等難度的字符串處理問題,主要難點(diǎn)在于對(duì)于層次的邏輯思考,每一種情況都不能漏。
簡(jiǎn)單分析一下,此題需要一層一層進(jìn)行剖析,到達(dá)最內(nèi)層后結(jié)束。對(duì)于這種層次題目很明顯適合兩種解法,一種是用Stack,一種是遞歸。;兩種解法只是代碼寫法上的區(qū)別,其實(shí)本質(zhì)思想上并沒有差別(Stack可以認(rèn)為就是模擬遞歸),所以參考程序只給出了一種用Stack的解法,遞歸類似。
深入分析:
在字符串中如果遇到“[”符號(hào),便需要新開一層(即需要壓棧)
在字符串中如果遇到“]”符號(hào),表示此層結(jié)束(即需要彈棧)。但是在一層結(jié)束時(shí),因?yàn)樯弦粚右瑥棾龅倪@一層,所以需要將其加入到其上一層(彈棧后的棧頂)
在字符串中如果遇到“,”時(shí),只需要處理前面是數(shù)字的情況(因?yàn)榍懊媸菙?shù)組的情況在遇到“]”時(shí)便處理過了),即把數(shù)字加入到當(dāng)前層(即棧頂層)即可。
注意一個(gè)特殊情況:只包含一個(gè)數(shù)字(如樣例一)的情況,需要額外處理(因?yàn)槠錄]有任何符號(hào))。
參考代碼

以上就是“JavaScript面試題實(shí)例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文標(biāo)題:JavaScript面試題實(shí)例分析
當(dāng)前URL:http://www.dlmjj.cn/article/jdihds.html


咨詢
建站咨詢
