feat: Add ruby code - chapter "array & linked list" (#1158)

* feat: add ruby code chapter array & linked list

- array.rb
- linked_list.rb
- list.rb
- my_list.rb

* feat: add ruby code blocks

* chore: fix convention
This commit is contained in:
khoaxuantu
2024-03-30 12:10:46 +07:00
committed by GitHub
parent e799513173
commit 85ca4cce43
12 changed files with 687 additions and 0 deletions

View File

@ -0,0 +1,38 @@
=begin
File: list_node.rb
Created Time: 2024-03-18
Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end
### 链表节点类 ###
class ListNode
attr_accessor :val # 节点值
attr_accessor :next # 指向下一节点的引用
def initialize(val=nil, next_node=nil)
@val = val || 0
@next = next_node
end
end
### 将列表序列化为链表 ###
def arr_to_linked_list(arr)
head = current = ListNode.new arr[0]
for i in 1...arr.length
current.next = ListNode.new arr[i]
current = current.next
end
head
end
### 将链表反序列化为列表 ###
def linked_list_to_arr(head)
arr = []
while head
arr << head.val
head = head.next
end
end