大家在刷leetcode的二叉樹相關的題目的時候,遇到問題需要在本地ide裡除錯的時候,題目裡給的二叉樹的形式是乙個陣列,類似
integer array = new integer;
這種形式,它是以null來做填充,構成乙個完全二叉樹,具體的圖我就不畫了,大家自己理解一下。而我們需要自己手動把它轉換成二叉樹的形式,再把這個二叉樹作為引數來進行解題。
因為感覺這樣做十分的麻煩,所以我寫了乙個轉換方法,可以把上面這種型別的陣列自動轉化為乙個二叉樹。
首先定義二叉樹節點:
class treenode
}
轉換方法如下:
public static treenode convert(integer array)
for (int i = start; i < end; i++) else
if (i > 0) else }}
}count++;
}floor++;
}return treenodes[0];
}
測試**:
public static void main(string args) ;
treenode root = convert(array);
}
用debug檢視結果:
我沒有寫特別多的測試用例,所以用的時候如果有問題,麻煩自己除錯修改一下。
LeetCode刷題 醜數
編寫乙個程式判斷給定的數是否為醜數。醜數就是只包含質因數 2,3,5 的正整數。示例 1 輸入 6 輸出 true 解釋 6 2 3 示例 2 輸入 8 輸出 true 解釋 8 2 2 2 示例 3 輸入 14 輸出 false 解釋 14 不是醜數,因為它包含了另外乙個質因數 7。說明 1 是醜...
LeetCode刷題 醜數
編寫乙個程式判斷給定的數是否為醜數。醜數就是只包含質因數 2,3,5 的正整數。示例 1 輸入 6 輸出 true 解釋 6 2 3 示例 2 輸入 8 輸出 true 解釋 8 2 2 2 示例 3 輸入 14 輸出 false 解釋 14 不是醜數,因為它包含了另外乙個質因數 7。說明 1 是醜...
LeetCode刷題 回文數
給你乙個整數 x 如果 x 是乙個回文整數,返回 ture 否則,返回 false 回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。例如,121 是回文,而 123 不是。示例 1 輸入 x 121 輸出 true 示例 2 輸入 x 121 輸出 false 解釋 從左向右讀,為 1...