Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. class LinkedListNode
  2. attr_accessor :value, :next_node
  3.  
  4. def initialize(value, next_node=nil)
  5. @value = value
  6. @next_node = next_node
  7. end
  8. end
  9.  
  10. def reverse_list(list, previous=nil)
  11. if list
  12. next_node = list.next_node
  13. list.next_node = previous
  14. reverse_list(next_node, list)
  15. end
  16. end
  17.  
  18. def print_values(list_node)
  19. if list_node
  20. print "#{list_node.value} --> "
  21. print_values(list_node.next_node)
  22. else
  23. print "nil\n"
  24. return
  25. end
  26. end
  27.  
  28. tailHead = LinkedListNode.new(37)
  29. center = LinkedListNode.new(99, tailHead)
  30. headTail = LinkedListNode.new(12, center)
  31.  
  32.  
  33. print_values(headTail)
  34.  
  35. reverse_list(headTail)
  36.  
  37. print_values(tailHead)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement