領釦(LeetCode)整數反轉
參考了答案,不過略有改動
class Solution { public: int reverse(int x) { long rev = 0;//定義長整形避免溢位 int pop; while (x != 0) { pop= x % 10; x/=10; rev = rev * 10 + pop; } if(rev>INT_MAX||rev<INT_MIN) return 0; else return rev; } };
相關推薦
領釦(LeetCode)整數反轉
參考了答案,不過略有改動 class Solution { public: int reverse(int x) { long rev = 0;//定義長整形避免溢位 int pop; while (x != 0) {
領釦(LeetCode)二維區域和檢索 個人題解
給定一個二維矩陣,計算其子矩形範圍內元素的總和,該子矩陣的左上角為 (row1, col1) ,右下角為 (row2, col2)。 上圖子矩陣左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),
領釦(LeetCode)第三大的數 個人題解
給定一個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是O(n)。 示例 1: 輸入: [3, 2, 1] 輸出: 1 解釋: 第三大的數是 1. 示例 2: 輸入: [1, 2] 輸出: 2 解釋: 第三大的數不存在, 所以返回最大的數 2 .
領釦(LeetCode)檢測大寫字母
給定一個單詞,你需要判斷單詞的大寫使用是否正確。 我們定義,在以下情況時,單詞的大寫用法是正確的: 全部字母都是大寫,比如"USA"。 單詞中所有字母都不是大寫,比如"leetcode"。 如果單詞不只含有一個字母,只有首字母大寫, 比如 "Google"。 否則,
領釦(LeetCode)刪除註釋 個人題解
給一個 C++ 程式,刪除程式中的註釋。這個程式source是一個數組,其中source[i]表示第i行原始碼。 這表示每行原始碼由\n分隔。 在 C++ 中有兩種註釋風格,行內註釋和塊註釋。 字串// 表示行註釋,表示//和其右側的其餘字元應該被忽略。 字串/* 表示一個
領釦(LeetCode)最長和諧子序列 個人題解
和諧陣列是指一個數組裡元素的最大值和最小值之間的差別正好是1。 現在,給定一個整數陣列,你需要在所有可能的子序列中找到最長的和諧子序列的長度。 示例 1: 輸入: [1,3,2,2,5,2,3,7] 輸出: 5 原因: 最長的和諧陣列是:[3,2,2,2,3]. 說明: 輸入的陣列長度最大
領釦(LeetCode)尋找旋轉排序陣列中的最小值 個人題解
假設按照升序排序的陣列在預先未知的某個點上進行了旋轉。 ( 例如,陣列 [0,1,2,4,5,6,7] 可能變為 [4,5,6,7,0,1,2] )。 請找出其中最小的元素。 你可以假設陣列中不存在重複元素。 示例 1: 輸入: [3,4,5,1,2] 輸出:
領釦(LeetCode)二叉樹的所有路徑 個人題解
給定一個二叉樹,返回所有從根節點到葉子節點的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 輸入: 1 / \ 2 3 \ 5 輸出: ["1->2->5", "1->3"] 解釋: 所有根節點到葉子節點的路徑為: 1->2-&g
領釦(LeetCode)3的冪 個人題解
給定一個整數,寫一個函式來判斷它是否是 3 的冪次方。 示例 1: 輸入: 27 輸出: true 示例 2: 輸入: 0 輸出: false 示例 3: 輸入: 9 輸出: true 示例 4: 輸入: 45 輸出: false 這題比較簡單,迴圈或者遞迴可以解決問題。但是也可
領釦(LeetCode)兩個列表的最小索引總和 個人題解
假設Andy和Doris想在晚餐時選擇一家餐廳,並且他們都有一個表示最喜愛餐廳的列表,每個餐廳的名字用字串表示。 你需要幫助他們用最少的索引和找出他們共同喜愛的餐廳。 如果答案不止一個,則輸出所有答案並且不考慮順序。 你可以假設總是存在一個答案。 示例 1: 輸入: ["Shogun", "Tapioc
領釦(LeetCode)二叉樹的右檢視 個人題解
給定一棵二叉樹,想象自己站在它的右側,按照從頂部到底部的順序,返回從右側所能看到的節點值。 示例: 輸入: [1,2,3,null,5,null,4] 輸出: [1, 3, 4] 解釋: 1 <--- / \ 2 3 &
領釦(LeetCode)有效的括號 個人題解
給定一個只包括 '(',')','{','}','[',']' 的字串,判斷字串是否有效。 有效字串需滿足: 左括號必須用相同型別的右括號閉合。 左括號必須以正確的順序閉合。 注意空字串可被認為是有效字串。 示例 1: 輸入: "()" 輸出: true 示例&
領釦(LeetCode)刪除連結串列中的節點 個人題解
請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 -- head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1: 輸入: head = [4,5,1,9
領釦(LeetCode)數字轉換為十六進位制數 個人題解
給定一個整數,編寫一個演算法將這個數轉換為十六進位制數。對於負整數,我們通常使用 補碼運算 方法。 注意: 十六進位制中所有字母(a-f)都必須是小寫。 十六進位制字串中不能包含多餘的前導零。如果要轉化的數為0,那麼以單個字元'0'來表示;對於其他情況,十六進位制字串中的第一
領釦(LeetCode)兩數之和II - 輸入有序陣列 個人題解
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你
領釦(LeetCode)找樹左下角的值 個人題解
給定一個二叉樹,在樹的最後一行找到最左邊的值。 示例 1: 輸入: 2 / \ 1 3 輸出: 1 示例 2: 輸入: 1 / \ 2 3 / / \ 4 5 6 /
領釦(LeetCode)合併兩個有序陣列 個人題解
給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為一個有序陣列。 說明: 初始化 nums1 和 nums2
領釦(LeetCode)Fizz Buzz 個人題解
寫一個程式,輸出從 1 到 n 數字的字串表示。 1. 如果 n 是3的倍數,輸出“Fizz”; 2. 如果 n 是5的倍數,輸出“Buzz”; 3.如果 n 同時是3和5的倍數,輸出 “FizzBuzz”。
領釦(LeetCode)字母大小寫全排列 個人題解
給定一個字串S,通過將字串S中的每個字母轉變大小寫,我們可以獲得一個新的字串。返回所有可能得到的字串集合。 示例: 輸入: S = "a1b2" 輸出: ["a1b2", "a1B2", "A1b2", "A1B2"] 輸入: S = "3z4" 輸出: ["3z4", "3Z4"] 輸入: S = "
領釦(LeetCode)迴文連結串列 個人題解
請判斷一個連結串列是否為迴文連結串列。 示例 1: 輸入: 1->2 輸出: false 示例 2: 輸入: 1->2->2->1 輸出: true 進階:你能否用 O(n) 時間複雜度和 O(1) 空間複雜度解決此題? 一個最暴力的做法,遍歷一