給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。
說明:本題中,我們將空字串定義為有效的回文串。
示例 1:
輸入: "a man, a plan, a canal: panama"
輸出: true
示例 2:
輸入: "race a car"
輸出: false
通過雙指標遍歷整個字元陣列,判斷元素是否滿足回文字串的要求如果不相等則返回false。
public boolean ispalindrome(string s)
while (!character.isletterordigit(ss[right]) && left < right)
if (left < right && (int) character.tolowercase(ss[left]) != (int) character.tolowercase(ss[right]))
left++;
right--;
} return true;
}
經典演算法面試題
1 說是有乙個文字檔案,大約有一萬行,每行乙個詞,要求統計出其中最頻繁出現的前十個詞。先用雜湊,統計每個詞出現的次數,然後用在n個數中找出前k大個數的方法找出出現次數最多的前10個詞。2 如題1,但是這次檔案特別大,沒有辦法一次讀入記憶體。1 直接排序,寫檔案時,同時寫入字串及其出現次數。2 可以用...
經典演算法面試題
維護乙個1000個節點的小頂堆。時間複雜度o nlogk 具體步驟 1 將k個陣列的第乙個元素取出來,維護乙個小頂堆。2 彈出堆頂元素存入結果陣列中,並把該元素所在陣列的下乙個元素取出來壓入隊中。3 調整堆的結構,使其滿足小頂堆的定義。4 重複 2 3 直到合併完成。動態規劃 dp n m 表示n被...
C 經典演算法面試題
static intsum int x static void sort int nums console.writeline nums i 字典的定義 必須包含名空間system.collection.generic dictionary裡面的每乙個元素都是乙個鍵值對 由二個元素組成 鍵和值 鍵必...