diff --git a/sik9252/AddBinary.js b/sik9252/AddBinary.js new file mode 100644 index 0000000..a2845e1 --- /dev/null +++ b/sik9252/AddBinary.js @@ -0,0 +1,8 @@ +/** + * @param {string} a + * @param {string} b + * @return {string} + */ +var addBinary = function (a, b) { + return (BigInt("0b" + a) + BigInt("0b" + b)).toString(2); +}; diff --git a/sik9252/DiameterOfBinaryTree.js b/sik9252/DiameterOfBinaryTree.js new file mode 100644 index 0000000..dc9f6ec --- /dev/null +++ b/sik9252/DiameterOfBinaryTree.js @@ -0,0 +1,21 @@ +/** + * @param {TreeNode} root + * @return {number} + */ +var diameterOfBinaryTree = function (root) { + let diameter = 0; + + function dfs(node) { + if (!node) return 0; + + const left = dfs(node.left); + const right = dfs(node.right); + + diameter = Math.max(diameter, left + right); + + return Math.max(left, right) + 1; + } + + dfs(root); + return diameter; +};