Skip to content

Commit af282fe

Browse files
authored
2025-01-23 v. 8.2.5.2: updated TreeNode initialization for tests
2 parents cce2d2c + 247120b commit af282fe

22 files changed

+186
-599
lines changed

leetcode-ruby.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ require 'English'
55
::Gem::Specification.new do |s|
66
s.required_ruby_version = '>= 3.0'
77
s.name = 'leetcode-ruby'
8-
s.version = '8.2.5.1'
8+
s.version = '8.2.5.2'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[README.md]
1111
s.executable = 'leetcode-ruby'

lib/medium/129_sum_root_to_leaf_numbers.rb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,19 @@
33
# https://leetcode.com/problems/sum-root-to-leaf-numbers/
44
# @param {TreeNode} root
55
# @return {Integer}
6-
def sum_numbers(root)
7-
sum129(root, 0)
8-
end
6+
def sum_numbers(root) = sum_for_root_to_leaf_number(root, 0)
97

108
private
119

1210
# @param {TreeNode} node
1311
# @param {Integer} curr
1412
# @return {Integer}
15-
def sum129(node, curr)
13+
def sum_for_root_to_leaf_number(node, curr)
1614
return 0 unless node
1715

1816
curr = curr * 10 + node.val
1917

2018
return curr if node.left.nil? && node.right.nil?
2119

22-
sum129(node.left, curr) + sum129(node.right, curr)
20+
sum_for_root_to_leaf_number(node.left, curr) + sum_for_root_to_leaf_number(node.right, curr)
2321
end

test/medium/test_129_sum_root_to_leaf_numbers.rb

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@ def test_default_one
1010
assert_equal(
1111
25,
1212
sum_numbers(
13-
::TreeNode.new(
14-
1,
15-
::TreeNode.new(2),
16-
::TreeNode.new(3)
13+
::TreeNode.build_tree(
14+
[1, 2, 3]
1715
)
1816
)
1917
)
@@ -23,14 +21,8 @@ def test_default_two
2321
assert_equal(
2422
1026,
2523
sum_numbers(
26-
::TreeNode.new(
27-
4,
28-
::TreeNode.new(
29-
9,
30-
::TreeNode.new(5),
31-
::TreeNode.new(1)
32-
),
33-
::TreeNode.new(0)
24+
::TreeNode.build_tree(
25+
[4, 9, 0, 5, 1]
3426
)
3527
)
3628
)

test/medium/test_173_binary_search_tree_iterator.rb

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,8 @@
88
class BinarySearchTreeIndicatorTest < ::Minitest::Test
99
def test_default_one
1010
bst_iterator = ::BSTIterator.new(
11-
::TreeNode.new(
12-
7,
13-
::TreeNode.new(3),
14-
::TreeNode.new(
15-
15,
16-
::TreeNode.new(9),
17-
::TreeNode.new(20)
18-
)
11+
::TreeNode.build_tree(
12+
[7, 3, 15, nil, nil, 9, 20]
1913
)
2014
)
2115

test/medium/test_199_binary_tree_right_side_view.rb

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,36 @@ def test_default_one
1010
assert_equal(
1111
[1, 3, 4],
1212
right_side_view(
13-
::TreeNode.new(
14-
1,
15-
::TreeNode.new(
16-
2,
17-
nil,
18-
::TreeNode.new(5)
19-
),
20-
::TreeNode.new(
21-
3,
22-
nil,
23-
::TreeNode.new(4)
24-
)
13+
::TreeNode.build_tree(
14+
[1, 2, 3, nil, 5, nil, 4]
2515
)
2616
)
2717
)
2818
end
2919

3020
def test_default_two
3121
assert_equal(
32-
[1, 3],
22+
[1, 3, 4, 5],
3323
right_side_view(
34-
::TreeNode.new(
35-
1,
36-
nil,
37-
::TreeNode.new(3)
24+
::TreeNode.build_tree(
25+
[1, 2, 3, 4, nil, nil, nil, 5]
3826
)
3927
)
4028
)
4129
end
4230

4331
def test_default_three
32+
assert_equal(
33+
[1, 3],
34+
right_side_view(
35+
::TreeNode.build_tree(
36+
[1, nil, 3]
37+
)
38+
)
39+
)
40+
end
41+
42+
def test_default_four
4443
assert_equal(
4544
[],
4645
right_side_view(nil)

test/medium/test_230_kth_smallest_element_in_a_bst.rb

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,8 @@ def test_default_one
1010
assert_equal(
1111
1,
1212
kth_smallest(
13-
::TreeNode.new(
14-
3,
15-
::TreeNode.new(
16-
1,
17-
nil,
18-
::TreeNode.new(2)
19-
),
20-
::TreeNode.new(4)
13+
::TreeNode.build_tree(
14+
[3, 1, 4, nil, 2]
2115
),
2216
1
2317
)
@@ -28,18 +22,8 @@ def test_default_two
2822
assert_equal(
2923
3,
3024
kth_smallest(
31-
::TreeNode.new(
32-
5,
33-
::TreeNode.new(
34-
3,
35-
::TreeNode.new(
36-
2,
37-
::TreeNode.new(1),
38-
nil
39-
),
40-
::TreeNode.new(4)
41-
),
42-
::TreeNode.new(6)
25+
::TreeNode.build_tree(
26+
[5, 3, 6, 2, 4, nil, nil, 1]
4327
),
4428
3
4529
)

test/medium/test_235_lowest_common_ancestor_of_a_binary_search_tree.rb

Lines changed: 32 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,15 @@ def test_default_one
1010
assert_equal(
1111
6,
1212
lowest_common_ancestor(
13-
::TreeNode.new(
14-
6,
15-
::TreeNode.new(
16-
2,
17-
::TreeNode.new(0),
18-
::TreeNode.new(
19-
4,
20-
::TreeNode.new(3),
21-
::TreeNode.new(5)
22-
)
23-
),
24-
::TreeNode.new(
25-
8,
26-
::TreeNode.new(7),
27-
::TreeNode.new(9)
28-
)
13+
::TreeNode.build_tree(
14+
[6, 2, 8, 0, 4, 7, 9, nil, nil, 3, 5]
2915
),
30-
::TreeNode.new(2),
31-
::TreeNode.new(8)
16+
::TreeNode.build_tree(
17+
[2]
18+
),
19+
::TreeNode.build_tree(
20+
[8]
21+
)
3222
).val
3323
)
3424
end
@@ -37,25 +27,15 @@ def test_default_two
3727
assert_equal(
3828
2,
3929
lowest_common_ancestor(
40-
::TreeNode.new(
41-
6,
42-
::TreeNode.new(
43-
2,
44-
::TreeNode.new(0),
45-
::TreeNode.new(
46-
4,
47-
::TreeNode.new(3),
48-
::TreeNode.new(5)
49-
)
50-
),
51-
::TreeNode.new(
52-
8,
53-
::TreeNode.new(7),
54-
::TreeNode.new(9)
55-
)
30+
::TreeNode.build_tree(
31+
[6, 2, 8, 0, 4, 7, 9, nil, nil, 3, 5]
32+
),
33+
::TreeNode.build_tree(
34+
[2]
5635
),
57-
::TreeNode.new(2),
58-
::TreeNode.new(4)
36+
::TreeNode.build_tree(
37+
[4]
38+
)
5939
).val
6040
)
6141
end
@@ -64,13 +44,15 @@ def test_default_three
6444
assert_equal(
6545
2,
6646
lowest_common_ancestor(
67-
::TreeNode.new(
68-
2,
69-
::TreeNode.new(1),
70-
nil
47+
::TreeNode.build_tree(
48+
[2, 1]
7149
),
72-
::TreeNode.new(2),
73-
::TreeNode.new(1)
50+
::TreeNode.build_tree(
51+
[2]
52+
),
53+
::TreeNode.build_tree(
54+
[1]
55+
)
7456
).val
7557
)
7658
end
@@ -79,25 +61,15 @@ def test_additional_one
7961
assert_equal(
8062
4,
8163
lowest_common_ancestor(
82-
::TreeNode.new(
83-
6,
84-
::TreeNode.new(
85-
2,
86-
::TreeNode.new(0),
87-
::TreeNode.new(
88-
4,
89-
::TreeNode.new(3),
90-
::TreeNode.new(5)
91-
)
92-
),
93-
::TreeNode.new(
94-
8,
95-
::TreeNode.new(7),
96-
::TreeNode.new(9)
97-
)
64+
::TreeNode.build_tree(
65+
[6, 2, 8, 0, 4, 7, 9, nil, nil, 3, 5]
66+
),
67+
::TreeNode.build_tree(
68+
[3]
9869
),
99-
::TreeNode.new(3),
100-
::TreeNode.new(5)
70+
::TreeNode.build_tree(
71+
[5]
72+
)
10173
).val
10274
)
10375
end

test/medium/test_236_lowest_common_ancestor_of_a_binary_tree.rb

Lines changed: 24 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,15 @@ def test_default_one
1010
assert_equal(
1111
3,
1212
lowest_common_ancestor236(
13-
::TreeNode.new(
14-
3,
15-
::TreeNode.new(
16-
5,
17-
::TreeNode.new(6),
18-
::TreeNode.new(
19-
2,
20-
::TreeNode.new(7),
21-
::TreeNode.new(4)
22-
)
23-
),
24-
::TreeNode.new(
25-
1,
26-
::TreeNode.new(0),
27-
::TreeNode.new(8)
28-
)
13+
::TreeNode.build_tree(
14+
[3, 5, 1, 6, 2, 0, 8, nil, nil, 7, 4]
2915
),
30-
::TreeNode.new(5),
31-
::TreeNode.new(1)
16+
::TreeNode.build_tree(
17+
[5]
18+
),
19+
::TreeNode.build_tree(
20+
[1]
21+
)
3222
).val
3323
)
3424
end
@@ -37,25 +27,15 @@ def test_default_two
3727
assert_equal(
3828
5,
3929
lowest_common_ancestor236(
40-
::TreeNode.new(
41-
3,
42-
::TreeNode.new(
43-
5,
44-
::TreeNode.new(6),
45-
::TreeNode.new(
46-
2,
47-
::TreeNode.new(7),
48-
::TreeNode.new(4)
49-
)
50-
),
51-
::TreeNode.new(
52-
1,
53-
::TreeNode.new(0),
54-
::TreeNode.new(8)
55-
)
30+
::TreeNode.build_tree(
31+
[3, 5, 1, 6, 2, 0, 8, nil, nil, 7, 4]
32+
),
33+
::TreeNode.build_tree(
34+
[5]
5635
),
57-
::TreeNode.new(5),
58-
::TreeNode.new(4)
36+
::TreeNode.build_tree(
37+
[4]
38+
)
5939
).val
6040
)
6141
end
@@ -64,13 +44,15 @@ def test_default_three
6444
assert_equal(
6545
1,
6646
lowest_common_ancestor236(
67-
::TreeNode.new(
68-
1,
69-
::TreeNode.new(2),
70-
nil
47+
::TreeNode.build_tree(
48+
[1, 2]
49+
),
50+
::TreeNode.build_tree(
51+
[1]
7152
),
72-
::TreeNode.new(1),
73-
::TreeNode.new(2)
53+
::TreeNode.build_tree(
54+
[2]
55+
)
7456
).val
7557
)
7658
end

0 commit comments

Comments
 (0)