Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 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.  
  9. def reverse_list(list, previous = nil)
  10. while list
  11. old_next = list.next_node
  12. list.next_node = previous
  13. previous = list
  14. list = old_next
  15. end
  16. previous
  17. end
  18.  
  19. def print_values(list_node)
  20. if list_node
  21. print "#{list_node.value} --> "
  22. print_values(list_node.next_node)
  23. else
  24. print "nil\n"
  25. end
  26. end
  27. end
  28.  
  29. node1 = LinkedListNode.new(37)
  30. node2 = LinkedListNode.new(99, node1)
  31. node3 = LinkedListNode.new(12, node2)
  32.  
  33. revlist = node3.reverse_list(node3)
  34. node3.print_values(revlist)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement