原创 Leecode—求二叉樹的最大深度和最小深度

1.給定一個二叉樹,找出其最大深度。 二叉樹的深度爲根節點到最遠葉子節點的最長路徑上的節點數。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹 [3,9,20,null,null,15,7], 3 / \

原创 編程題—序列化和反序列化

題目描述 請實現兩個函數,分別用來序列化和反序列化二叉樹   思路:(1)首先我們需要先構建一顆二叉樹                     構建二叉樹的思路:第一步:將數組中的元素封裝成TreeNode類型的節點裝入nodeList鏈

原创 編程題—給定位於二維平面上的n個點,求出位於同一條直線上的最大點數

開始拿到這個題的時候,首先就會想到兩點確定一條直線,若要判斷相應的點是否在同一條直線上,僅需求出它們的斜率即可。 但是此題需注意的幾點是:(1)當斜率不存在的情況:即(y2-y1)/(x2-x1)中(x2-x1)爲0的情況。      

原创 Mysql錯誤小記(1)

今天在重溫Mybatis時,出現了一個小問題。 在完成模糊查詢時報出:java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (u

原创 RabbitMQ小記01

最近在公司實習發現企業基本上都用到了RabbitMQ,作爲一個職場小白決定深入瞭解一下,所以在此做些小記~ 有關文章參考《RabbitMQ實戰指南》—朱忠華 著 首先,我們需要知道RabbitMQ它是一款優秀的消息中間件,目前它憑藉它的高

原创 編程題—對鏈表進行插入排序

思路:新建一個鏈表, 遍歷原鏈表,將節點插入新鏈表正確的位置上面 /** * Definition for singly-linked list. * public class ListNode { * int val;

原创 Leedcode—判斷一棵樹是否是高度平衡的二叉樹

給定一個二叉樹,判斷它是否是高度平衡的二叉樹。 本題中,一棵高度平衡二叉樹定義爲: 一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。 示例 1: 給定二叉樹 [3,9,20,null,null,15,7] 3

原创 Leedcode—兩個字符串相乘

 兩個字符串相乘即大數乘法 以下給出大數乘法的遞歸解題思路,以及java中用BigInteger類實現的大數乘法。 package com.cll.cn.algorithm; import java.math.BigInteger;

原创 Leedcode—最大數

題目描述: 給定一組非負整數,重新排列它們的順序使之組成一個最大的整數。 示例 1: 輸入: [10,2] 輸出: 210 示例 2: 輸入: [3,30,34,5,9] 輸出: 9534330   思路:貪心算法,有a和b兩個數想組

原创 Leedcode—反轉二叉樹(遞歸和非遞歸兩種)

翻轉一棵二叉樹。 示例: 輸入: 4 / \ 2 7 / \ / \ 1 3 6 9 輸出: 4 / \ 7 2 / \ / \ 9 6 3

原创 Leedcode—買賣股票的最佳時機(三種不同難度)

121. 買賣股票的最佳時機 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 示例 1:

原创 Leedcode—字符串中的單詞數

統計字符串中的單詞個數,這裏的單詞指的是連續的不是空格的字符。 請注意,你可以假定字符串裏不包括任何不可打印的字符。 示例: 輸入: "Hello, my name is John" 輸出: 5 此題較簡單,注意審題,單詞是指連續的不

原创 Leedcode—機器人走過的路徑

一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記爲“Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記爲“Finish”)。 問總共有多少條不同的路徑? 說明:m 和 n 的

原创 Leetcode—移掉k位數字

給定一個以字符串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。 注意: num 的長度小於 10002 且 ≥ k。 num 不會包含任何前導零。 示例 1 : 輸入: num = "1432219", k =

原创 leedcode—最長迴文子串

給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲 1000。 示例 1: 輸入: "babad" 輸出: "bab" 注意: "aba" 也是一個有效答案。 示例 2: 輸入: "cbbd" 輸出: "b