判断字符串是否为回文(C语言 顺序栈)
生活随笔
收集整理的這篇文章主要介紹了
判断字符串是否为回文(C语言 顺序栈)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
首先我們需要確定思路,如何用棧來判斷字符串是否為回文。
1.棧是先進后出
2.回文是指正讀反讀均相同的字符序列
從這兩點很容易就可以聯(lián)想到一個方法,我們先將字符串全部存進去棧中,再將它全部出棧,進行對比,如果完全相同則為回文,這是一個簡單并且直接的方法,但是還有沒有方法可以優(yōu)化呢?
我們可以可以通過回文的性質(zhì)聯(lián)想到先將一般的字符串存進去,出棧后再與剩下的一般進行比較,完全相同則為回文,這樣的算法比起剛才的效率高了一倍。
明確了思路就可以開始寫算法了
因為我們先存進去一半的字符串,但如果字符串長度為奇數(shù),既有一個字符僅僅出現(xiàn)過一次時,我們可以跳過它,與出棧數(shù)據(jù)與它后邊的字符進行比較,當完全相同時,即為回文
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的判断字符串是否为回文(C语言 顺序栈)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode-876. 链表的中间结
- 下一篇: C语言程序设计 | 扫雷游戏