Digit root 數根問題node
/** * @param {number} num * @return {number} */ var addDigits = function(num) { var b = (num-1) % 9 + 1 ; return b; };
//之因此num要-1再+1;是由於特殊狀況下:當num是9的倍數時,0+9的數字根和0的數字根不一樣。
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @return {number} */ var maxDepth = function(root) { if(root===null){ return 0; } var le = maxDepth(root.left); var ri = maxDepth(root.right); return 1+Math.max(le,ri); };
【注】custom test裏面的binary tree visualizer使用數組產生二叉樹,如[1,2,3,4,5]git
這題考察二叉樹深度的計算,使用遍歷完成,從底層return0不斷+1到初始位置完成計算數組
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @return {TreeNode} */ var invertTree = function(root) { if(root===null){ return root } var tem = root.left; root.left = root.right; root.right = tem; invertTree(root.left); invertTree(root.right); return root };
【注】這題和上面的二叉樹深度的題有點像,一下就作出來了,沒什麼好說的 this