Skip to content

Commit 8adc481

Browse files
Move to tests - Round 1
1 parent f487669 commit 8adc481

5 files changed

+55
-31
lines changed

LeetcodeProblems/Lowest_Common_Ancestor_of_a_Binary_Tree.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/
44
55
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.
66
7-
According to the definition of LCA on Wikipedia:
7+
According to the definition of LCA on Wikipedia:
88
“The lowest common ancestor is defined between two nodes p and q as the lowest node in T that has both p and q as descendants
99
(where we allow a node to be a descendant of itself).”
1010
@@ -92,7 +92,6 @@ var pathTo = function(root, value) {
9292
return [];
9393
}
9494

95-
9695
var main = function() {
9796
var root = new TreeNode(3);
9897

@@ -126,4 +125,6 @@ var main = function() {
126125
console.log(lowestCommonAncestor2(root, left, right));
127126
}
128127

129-
module.exports.main = main;
128+
module.exports.main = main;
129+
130+
main();

LeetcodeProblems/Unique_Binary_Search_Trees.js

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Given n = 3, there are a total of 5 unique BST's:
2222
DP Solution: https://www.programcreek.com/2014/05/leetcode-unique-binary-search-trees-java/
2323
*/
2424

25+
var assert = require('assert');
26+
2527
// Solution 3 using DP
2628
var numTrees3 = function (n) {
2729
if (n == 0)
@@ -108,20 +110,25 @@ var numTreesAux1 = function(leftMin, leftMax) {
108110
}
109111

110112
var main = function() {
111-
console.log(numTrees1(1));
112-
console.log(numTrees1(2));
113-
console.log(numTrees1(3));
114-
console.log(numTrees1(5));
115-
116-
console.log(numTrees2(1));
117-
console.log(numTrees2(2));
118-
console.log(numTrees2(3));
119-
console.log(numTrees2(5));
120-
121-
console.log(numTrees3(1));
122-
console.log(numTrees3(2));
123-
console.log(numTrees3(3));
124-
console.log(numTrees3(5));
113+
test();
114+
}
115+
116+
var test = function () {
117+
assert.strictEqual(numTrees1(1), 1);
118+
assert.strictEqual(numTrees1(2), 2);
119+
assert.strictEqual(numTrees1(3), 5);
120+
assert.strictEqual(numTrees1(5), 42);
121+
122+
assert.strictEqual(numTrees2(1), 1);
123+
assert.strictEqual(numTrees2(2), 2);
124+
assert.strictEqual(numTrees2(3), 5);
125+
assert.strictEqual(numTrees2(5), 42);
126+
127+
assert.strictEqual(numTrees3(1), 1);
128+
assert.strictEqual(numTrees3(2), 2);
129+
assert.strictEqual(numTrees3(3), 5);
130+
assert.strictEqual(numTrees3(5), 42);
125131
}
126132

127133
module.exports.main = main
134+
main();

LeetcodeProblems/Unique_Paths.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Output: 28
2626

2727
// Solution 1
2828
// This solution is a naive solution implementing a binary tree and visiting each node.
29+
var assert = require('assert');
2930

3031
var uniquePaths1 = function(m, n) {
3132
return uniquePathsAux(0, 0, m, n)
@@ -96,9 +97,12 @@ var uniquePaths3 = function(m, n) {
9697
};
9798

9899
var main = function() {
99-
console.log(uniquePaths1(10,4));
100-
console.log(uniquePaths2(10,4));
101-
console.log(uniquePaths3(10,4));
100+
test();
101+
}
102+
103+
var test = function() {
104+
assert.strictEqual(uniquePaths1(10,4), 220);
105+
assert.strictEqual(uniquePaths1(3,2), 3);
102106
}
103107

104108
module.exports.main = main;

LeetcodeProblems/Valid_Parentheses.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ Input: "{[]}"
3232
Output: true
3333
*/
3434

35+
var assert = require('assert');
36+
3537
var isValid = function(s) {
3638
var stack = [];
3739
for(var i = 0; i < s.length; i++) {
@@ -57,11 +59,15 @@ var valid = function(parOpen, parClose) {
5759
}
5860

5961
var main = function(){
60-
console.log(isValid(""));
61-
console.log(isValid("()"));
62-
console.log(isValid("([)]"));
63-
console.log(isValid("{[()]}{[()]}"));
64-
console.log(isValid("{[())()]}"));
62+
test();
63+
}
64+
65+
var test = function () {
66+
assert.strictEqual(isValid(""), true);
67+
assert.strictEqual(isValid("()"), true);
68+
assert.strictEqual(isValid("([)]"), false);
69+
assert.strictEqual(isValid("{[()]}{[()]}"), true);
70+
assert.strictEqual(isValid("{[())()]}"), false);
6571
}
6672

6773
module.exports.main = main

LeetcodeProblems/Verify_Preorder_Serialization_of_a_Binary_Tree.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Example 3:
3131
Input: "9,#,#,1"
3232
Output: false
3333
*/
34+
var assert = require('assert');
3435

3536
/**
3637
* @param {string} preorder
@@ -40,7 +41,7 @@ var isValidSerialization = function(preorder) {
4041
if(preorder.length === 0)
4142
return true;
4243

43-
if(preorder.charAt(0) === "#")
44+
if(preorder.charAt(0) === "#")
4445
return preorder.length === 1;
4546

4647
var countP = 2;
@@ -64,11 +65,16 @@ var isValidSerialization = function(preorder) {
6465
};
6566

6667
var main = function() {
67-
console.log(isValidSerialization(""));
68-
console.log(isValidSerialization("#"));
69-
console.log(isValidSerialization("9,3,4,#,#,1,#,#,2,#,6,#,#"));
70-
console.log(isValidSerialization("9,#,92,#,#"));
71-
console.log(isValidSerialization("9,3,4,#,#,1,#,#,#,2,#,6,#,#"));
68+
test();
7269
}
7370

71+
var test = function() {
72+
assert.strictEqual(isValidSerialization(""), true);
73+
assert.strictEqual(isValidSerialization(""), true);
74+
assert.strictEqual(isValidSerialization("#"), true);
75+
assert.strictEqual(isValidSerialization("9,3,4,#,#,1,#,#,2,#,6,#,#"), true);
76+
assert.strictEqual(isValidSerialization("9,#,92,#,#"), true);
77+
assert.strictEqual(isValidSerialization("9,3,4,#,#,1,#,#,#,2,#,6,#,#"), false);
78+
};
79+
7480
module.exports.main = main;

0 commit comments

Comments
 (0)