題目如下:
給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。
示例 1:
輸入: 「babad」
輸出: 「bab」
注意: 「aba」 也是乙個有效答案。
思路:回文,就是倒過來和之前一樣的片段。所以思路就是將整個字串s倒過來。然後找到他們的最大公共子串。然而,並不是所有的字串都可以這樣找出最長的回文子串。例如:s = 「abacdfgdcaba」 s』 = 「abacdgfdcaba」。s 以及 s』之間的最長公共子串為 「abacd」。而這不是回文。
所以我們還需要做一件事情,當找到乙個公共字串時,就判斷它是不是回文子串。這個判斷依靠s的索引來實現。當倒過來的字串索引對應s的索引時,這個子串就是回文子串。
總結:1,將s反轉,然後尋找兩個字串的最大公共子串。
2,尋找時,對子串進行判斷,判斷其是否滿足回文子串的要求。
class solution
}else break;
}
temp="";
}return res;
}};
leetcode騰訊精選50題(1)
菜鳥第一課 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素...
leetcode 騰訊精選50題 21
given a linked list,rotate the list to the right by k places,where k is non negative.鍊錶的特殊性在於其可以只改變其所指向的位址,而不改變資料存放的真正位址,於是將其收尾閉合後可直接得到乙個閉環的鍊錶,在將其在指定的...
leetcode 騰訊精選50題 LRU快取機制
題目如下 運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料 get 和 寫入資料 put 獲取資料 get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料 put key,value 如果金鑰不存在,則寫入...