Leetcode刷題記(3)——回文數
瞎扯~
回文數應該是學習編程路上永遠邁不過的一道坎了,不過這個坎應該很小很小了,基本上都能碼出來,不過也有笨的和簡單的方法,第一次碼這道題的時候就很笨,用了兩次循環把每一位上的數字取出來再和原來的每位數字對比,就需要兩次遍歷,還需要一個數組存儲。這道題和第2道整數反轉有異曲同工之妙,只需要比較反轉後的數字和原數字是否相等。
註意以下幾點:
(1)對於負數肯定不是回文數,這一點可以先判斷輸出;
(2)對於數字還需要註意溢出問題,可以借用上一題中的溢出處理方式,不過更簡單的是定義變量時直接使用long型,不過註意這是在32位範圍內,如果有更大的範圍,還是參考上一題中的溢出處理方式更準確一些;官方題解上考慮溢出問題時是只反轉數字的一半然後和另一半進行比較。
(3)改進:判斷字符串是否是回文數,這個思路也比較簡單,先獲取字符串的長度,如果是偶數直接判斷不是回文數,否則依次比較首尾元素是否相同即可。
Leetcode刷題記(3)——回文數
相關推薦
Leetcode刷題記(3)——回文數
思路 學習 lee code 一半 應該 第一次 一個 進行 瞎扯~ 回文數應該是學習編程路上永遠邁不過的一道坎了,不過這個坎應該很小很小了,基本上都能碼出來,不過也有笨的和簡單的方法,第一次碼這道題的時候就很笨,用了兩次循環把每一位上的數字取出來再和原來的每位數字對
Leetcode刷題記(6)——有效的括號
匹配 -c 一點 tro 過程 進行 加油! ont leet 勤勞的搬運工~ 給定一個只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序閉合。
Leetcode刷題記(8)——刪除排序數組中的重復項
blank 方法 思路 引用 num str targe 別人 ren 搬運工~ 給定一個排序數組,你需要在原地刪除重復出現的元素,使得每個元素只出現一次,返回移除後數組的新長度。 不要使用額外的數組空間,你必須在原地修改輸入數組並在使用 O(1) 額外空間的條件下完成
LeetCode學習記錄(3)----完全平方數
給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, ...)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n = 12 輸出: 3 解釋: 12 = 4 + 4 + 4. 示例 2: 輸入: n = 13 輸出:
Byte of Python學習筆記(2)——回文練習
span forbidden you 一點 學習筆記 成員 reverse 大小寫 lis Byte of Python 第111頁有關回文的作業練習,原題為:要想檢查文本是否屬於回文需要忽略其中的標點、空格與大小寫。例如,“Rise to vote, sir.”是一段
IO流(3)刪除文件或文件夾
exce rgs println create dem 註意 項目 txt lean 刪除功能:public boolean delete() * * 註意: * A:如果你創建文件或者文件夾忘了寫盤符路徑,那麽,默認在項目路徑下。 * B:Java中的刪除不走回
LeetCode刷題-005最長回文子串
最大 一個 str 註意 字符 div 子串 回文字 max 給定一個字符串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為1000。示例 1:輸入: "babad"輸出: "bab"註意: "aba"也是一個有效答案。示例 2:輸入: "cbbd"輸出: "
leetcode 刷題(1)--- 兩數之和
給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0
leetcode 刷題(2)--- 兩數相加
nullptr solution 原因 == 表示 node etc 數字 個數字 給定兩個非空鏈表來表示兩個非負整數。位數按照逆序方式存儲,它們的每個節點只存儲單個數字。將兩數相加返回一個新的鏈表。 你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。 示例: 輸
LeetCode刷題(Java)
第一題 class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<Integer, Integer>()
leetcode 刷題 (599)
最近在刷LeetCode,從簡單的開始刷起,補一下自己code和演算法基礎。 下面是dict方面的題目: 主要用到了dict兩個主要的屬性: ①enumerate() enumerate(sequence, [start=0]) sequence -- 一個序列、迭代器或其他支援
LeetCode刷題(三)
LeetCode 是個著名的程式設計題庫,裡邊有很多面試、演算法題目,多刷刷對提高程式設計水平很有幫助,避免因為天天寫業務程式碼而停滯不前。最近玩了下挺有意思的,決定慢慢的刷起來,在這裡記錄一下我的刷
LeetCode(9)—— 迴文數
描述 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例1: 輸入: 121 輸出: true 示例2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。 因此它不
LeetCode刷題(Python)——每個節點的右向指標
題目描述 給定一個二叉樹 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } 填充它的每個 next 指標,讓這個指標指向其下一個右側節點。
leetcode 刷題(python)之漢明距離
兩個整數之間的漢明距離指的是這兩個數字對應二進位制位不同的位置的數目。給出兩個整數 x 和 y,計算它們之間的漢明距離。注意:0 ≤ x, y < 231.示例:輸入: x = 1, y = 4輸出: 2解釋:1 (0 0 0 1)4 (0 1 0 0)↑ ↑上面的箭頭
LeetCode刷題(48)--Remove Duplicates from Sorted List II
cur表示當前所在的Node,對於重複出現的Node會移到最後一個。 pre記錄結果,res用於返回,pre的更改會體現在res上。 如果pre.next == cur,則說明沒有重複,此時pre = pre.next Node進入res; 否則,則重複,只是將pre.next 移到下
LeetCode刷題(46)--Search in Rotated Array
特別處理等於的情況 class Solution(object): def search(self, nums, target): """ :type nums: List[int] :type target: int
LeetCode刷題(50)--Word Search
DFS演算法 class Solution(object): def exist(self, board, word): """ :type board: List[List[str]] :type word: str
LeetCode刷題(49)--Minimum Window Substring
class Solution(object): def minWindow(self, s, t): """ :type s: str :type t: str :rtype: str """
LeetCode刷題(二) —— 整數拆分
題目:給定一個正整數 n,將其拆分為至少兩個正整數的和,並使這些整數的乘積最大化。 返回你可以獲得的最大乘積。例如,給定 n = 2,返回1(2 = 1 + 1);給定 n = 10,返回36(10 = 3 + 3 + 4)。注意:你可以假設 n 不小於2且不大於58。分析: