原创 存在重複元素

題目鏈接:https://leetcode-cn.com/problems/contains-duplicate/ 利用哈希表破判重。 class Solution { public boolean containsDuplic

原创 打家劫舍

題目鏈接:https://leetcode-cn.com/problems/house-robber/submissions/   思路:     假設到第i家的時候可以偷得的最大值是:   dp[i] = Max{ dp[i-2] +

原创 不同路徑

題目鏈接:https://leetcode-cn.com/problems/unique-paths/   class Solution { public int uniquePaths(int m, int n) {

原创 從上往下打印二叉樹

題目鏈接:https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13&tqId=11175&tPage=1&rp=1&ru=/ta/coding-i

原创 打家劫舍 II

題目鏈接:https://leetcode-cn.com/problems/house-robber-ii/ 本題與 打家劫舍I相比 多了條件就是 環形相連,意味着第一個和最後一個 ,也只能選擇其中之一。     class Solut

原创 最小路徑和

題目鏈接: https://leetcode-cn.com/problems/minimum-path-sum/submissions/ class Solution { public int minPathSum(int[][

原创 二叉樹的鏡像

題目鏈接:  遞歸交換左右部分 public class Solution { public void Mirror(TreeNode root) { if(root == null){

原创 TinyURL 的加密與解密

題目鏈接:https://leetcode-cn.com/problems/encode-and-decode-tinyurl/description/ 該題是hash表的一種應用。 隨機固定長度加密 ,在這種方法中,使用數字和字母表集合

原创 刪除鏈表的倒數第N個節點

方法一:兩次遍歷算法 思路 我們注意到這個問題可以容易地簡化成另一個問題:刪除從列表開頭數起的第 (L - n + 1)個結點,其中 L是列表的長度。只要我們找到列表的長度 L,這個問題就很容易解決。 算法 首先我們將添加一個啞

原创 迴文數

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 爲 -121 。 從右

原创 樹的子結構

題目鏈接:https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&tqId=11170&tPage=1&rp=1&ru=/ta/coding-i

原创 環形鏈表1&環形鏈表2--雙指針法的應用

 環形鏈表1:  https://leetcode-cn.com/problems/linked-list-cycle/ 方法一:哈希表 思路 我們可以通過檢查一個結點此前是否被訪問過來判斷鏈表是否爲環形鏈表。常用的方法是使用哈希表

原创 二叉樹的深度

題目鏈接:https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?tpId=13&tqId=11191&tPage=1&rp=1&ru=/ta/coding-i

原创 相交鏈表

題目鏈接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 方法一: 暴力法 對鏈表A中的每一個結點ai,遍歷整個鏈表 B 並檢查鏈表 B 中是否存在

原创 二叉搜索樹的後序遍歷序列

 題目連接:https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?tpId=13&tqId=11176&tPage=1&rp=1&ru=/ta/coding-