原创 用遞歸實現全排列

給定一個字符串,輸出其所有的全排列 思路: 假設字符串的長度爲1,則輸出該字符 假設字符串的長度爲2,則交換字符1和字符2 假設字符串的長度爲n,則交換字符1和字符i(1<i<n) 剩下的長度爲n-1的字符串繼續用該方法進行遞歸。 代碼實

原创 輸入一顆二叉樹的根節點和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義爲從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。

注意遞歸出口:root爲null或者左右節點訪問完,返回   返回時要注意把path的最後一個數據remove 注意:不能把path直接add到res中。否則更改path的時候。res中的path也會隨之而改變。這就是因爲res中存的時p

原创 斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項爲0)。

題目描述:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項爲0)。n<=39 方法一:遞歸 話不多說,直接上代碼。只要注意下遞歸出口就行 public class Solution {

原创 通過反射實現對某個對象屬性的注入

直接上代碼     輔助類   Student : public class Student { private String name; private int age; @Override public String t

原创 利用反射機制,使得list中可以存放不同類型的對象

首先建立一個泛型爲Integer的list。隨後利用反射機制使list中存放一個student對象   輔助類  Student  public class Student { private int id; private S

原创 輸入一棵二叉搜索樹,將樹轉換成一個排序的雙向鏈表。要求不能創建任何新的結點,只能調整樹中結點指針的指向。

方法一: 1.將二叉搜索樹中序遍歷出來,並把每個節點都保存在一個list中 2.改變list中每個元素的指向 /** public class TreeNode { int val = 0; TreeNode left

原创 synchronized 的底層怎麼實現的

詳見 點擊這裏

原创 把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。

題目描述:把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。 NOTE:

原创 把String轉換爲Timestamp

把String轉換爲Timestamp Timestamp time=new Timestamp(new SimpleDateFormat("yyyy-MM-dd").parse("2020-04-25").getTime());

原创 求1到n的整數中出現1的次數

若求出1~13的整數中1出現的次數,那麼包括1的數有1、10、11、12、13。因此共出現6次 分析:我們要求1到n的整數中出現1的次數。 思路是分別計算個位、十位、百位........上出現 1 的個數。 以  n =216爲例: 個位

原创 給定一條數據,若數據庫中有則更新該數據,沒有則新增一條數據。使用merge into實現

1.merge into 的語法 MERGE INTO table_name alias1 USING (table | view | sub_query) alias2 ON (join condition) WHEN MATCHED

原创 關於類加載器和getClass(),Object.class,getClassLoader的理解

詳見關於getClass(),Object.class,getClassLoader的理解。

原创 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能爲該棧的彈出順序.

題目描述:輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能爲該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5

原创 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。

考慮用隊列來實現。 隊列的常用方法: 容量不夠或隊列爲空時不會拋異常:offer(添加隊尾元素)、peek(訪問隊頭元素)、poll(訪問隊頭元素並移除) 容量不夠或隊列爲空時拋異常:add、element(訪問隊列元素)、remove(

原创 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。

二叉搜索樹的特點:遍歷的時候,如果遇到比最後一個元素大的節點,就說明它的前面都比最後一個元素小,該元素後面的所有值都必須大於最後一個值,這兩個條件必須都要滿足。否則就說明該序列不是二叉樹後序遍歷。 代碼: public class So