Skip to content

Commit f466e6f

Browse files
authored
2025-01-22 v. 8.2.3: added "1019. Next Greater Node In Linked List"
2 parents 6ae4585 + 3495f26 commit f466e6f

File tree

4 files changed

+57
-1
lines changed

4 files changed

+57
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,7 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
655655
| 988. Smallest String Starting From Leaf | [Link](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [Link](./lib/medium/988_smallest_string_starting_from_leaf.rb) | [Link](./test/medium/test_988_smallest_string_starting_from_leaf.rb) |
656656
| 998. Maximum Binary Tree II | [Link](https://leetcode.com/problems/maximum-binary-tree-ii/) | [Link](./lib/medium/998_maximum_binary_tree_ii.rb) | [Link](./test/medium/test_998_maximum_binary_tree_ii.rb) |
657657
| 1008. Construct Binary Search Tree from Preorder Traversal | [Link](https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/) | [Link](./lib/medium/1008_construct_binary_search_tree_from_preorder_traversal.rb) | [Link](./test/medium/test_1008_construct_binary_search_tree_from_preorder_traversal.rb) |
658+
| 1019. Next Greater Node In Linked List | [Link](https://leetcode.com/problems/next-greater-node-in-linked-list/) | [Link](./lib/medium/1019_next_greater_node_in_linked_list.rb) | [Link](./test/medium/test_1019_next_greater_node_in_linked_list.rb) |
658659
| 1400. Construct K Palindrome Strings | [Link](https://leetcode.com/problems/construct-k-palindrome-strings/) | [Link](./lib/medium/1400_construct_k_palindrome_strings.rb) | [Link](./test/medium/test_1400_construct_k_palindrome_strings.rb) |
659660
| 2116. Check if a Parentheses String Can Be Valid | [Link](https://leetcode.com/problems/check-if-a-parentheses-string-can-be-valid/) | [Link](./lib/medium/2116_check_if_a_parentheses_string_can_be_valid.rb) | [Link](./test/medium/test_2116_check_if_a_parentheses_string_can_be_valid.rb) |
660661
| 2425. Bitwise XOR of All Pairings | [Link](https://leetcode.com/problems/bitwise-xor-of-all-pairings/) | [Link](./lib/medium/2425_bitwise_xor_of_all_pairings.rb) | [Link](./test/medium/test_2425_bitwise_xor_of_all_pairings.rb) |

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.2'
8+
s.version = '8.2.3'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[README.md]
1111
s.executable = 'leetcode-ruby'
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# frozen_string_literal: true
2+
3+
# https://leetcode.com/problems/next-greater-node-in-linked-list/
4+
# @param {ListNode} head
5+
# @return {Integer[]}
6+
def next_larger_nodes(head)
7+
nodes = []
8+
pointer = head
9+
10+
while pointer
11+
nodes << pointer.val
12+
pointer = pointer.next
13+
end
14+
15+
result = ::Array.new(nodes.size, 0)
16+
values = []
17+
18+
nodes.each_with_index do |node, i|
19+
result[values.pop] = node while !values.empty? && node > nodes[values.last]
20+
21+
values << i
22+
end
23+
24+
result
25+
end
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# frozen_string_literal: true
2+
3+
require_relative '../test_helper'
4+
require_relative '../../lib/common/linked_list'
5+
require_relative '../../lib/medium/1019_next_greater_node_in_linked_list'
6+
require 'minitest/autorun'
7+
8+
class NextGreaterNodeInLinkedListTest < ::Minitest::Test
9+
def test_default_one
10+
assert_equal(
11+
[5, 5, 0],
12+
next_larger_nodes(
13+
::ListNode.from_array(
14+
[2, 1, 5]
15+
)
16+
)
17+
)
18+
end
19+
20+
def test_default_two
21+
assert_equal(
22+
[7, 0, 5, 5, 0],
23+
next_larger_nodes(
24+
::ListNode.from_array(
25+
[2, 7, 4, 3, 5]
26+
)
27+
)
28+
)
29+
end
30+
end

0 commit comments

Comments
 (0)