Skip to content

Commit 3454331

Browse files
committed
[leet] bst
1 parent 74c4d0b commit 3454331

File tree

5 files changed

+83
-0
lines changed

5 files changed

+83
-0
lines changed

허현빈/11주차/Construct Binary Tree from Preorder and Inorder Traversal-2.js

Whitespace-only changes.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* function TreeNode(val, left, right) {
4+
* this.val = (val===undefined ? 0 : val)
5+
* this.left = (left===undefined ? null : left)
6+
* this.right = (right===undefined ? null : right)
7+
* }
8+
*/
9+
/**
10+
* @param {TreeNode} root
11+
* @return {TreeNode}
12+
*/
13+
var invertTree = function (node) {
14+
const swapValue = (node) => {
15+
const temp = node.left;
16+
node.left = node.right;
17+
node.right = temp;
18+
};
19+
const travTree = (node) => {
20+
if (!node) {
21+
return;
22+
}
23+
swapValue(node);
24+
travTree(node.left);
25+
travTree(node.right);
26+
};
27+
travTree(node);
28+
return node;
29+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* function TreeNode(val, left, right) {
4+
* this.val = (val===undefined ? 0 : val)
5+
* this.left = (left===undefined ? null : left)
6+
* this.right = (right===undefined ? null : right)
7+
* }
8+
*/
9+
/**
10+
* @param {TreeNode} root
11+
* @return {number}
12+
*/
13+
var maxDepth = function (root) {
14+
let depth = 0;
15+
const findDepth = (node, depth) => {
16+
if (!node || node.val === null) {
17+
return depth;
18+
}
19+
return Math.max(
20+
findDepth(node.right, depth + 1),
21+
findDepth(node.left, depth + 1)
22+
);
23+
};
24+
return findDepth(root, depth);
25+
};

허현빈/11주차/Same Tree.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* function TreeNode(val, left, right) {
4+
* this.val = (val===undefined ? 0 : val)
5+
* this.left = (left===undefined ? null : left)
6+
* this.right = (right===undefined ? null : right)
7+
* }
8+
*/
9+
/**
10+
* @param {TreeNode} p
11+
* @param {TreeNode} q
12+
* @return {boolean}
13+
*/
14+
15+
var isSameTree = function (p, q) {
16+
const isSame = (node1, node2) => {
17+
if (!node1 && !node2) {
18+
return true;
19+
}
20+
if (!node1 || !node2) {
21+
return false;
22+
}
23+
if (node1.val !== node2.val) {
24+
return false;
25+
}
26+
return isSame(node1.left, node2.left) && isSame(node1.right, node2.right);
27+
};
28+
return isSame(p, q);
29+
};

허현빈/11주차/Symmetric Tree.js

Whitespace-only changes.

0 commit comments

Comments
 (0)