Guest User

Untitled

a guest
Jun 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. class Node {
  2. def next
  3. def data
  4. }
  5.  
  6. def n3 = new Node(data:"three", next:null)
  7. def n2 = new Node(data:"two", next:n3)
  8. def n1 = new Node(data:"one", next:n2)
  9.  
  10. class MyList { def firstNode }
  11. def ml = new MyList(firstNode:n1)
  12.  
  13. def traverse(Node n) {
  14. if (n == null) return null
  15. println n.data
  16. traverse(n.next)
  17. }
  18.  
  19. //traverse(ml.firstNode)
  20.  
  21. Node reverse(Node list)
  22. {
  23. // println "reverse call " + list.data
  24. if (list == null) { println "null"; return null }
  25. if (list.next == null) { return list }
  26.  
  27. // println "in body"
  28.  
  29. Node secondElem = list.next;
  30. list.next = null;
  31. Node reverseRest = reverse(secondElem); //rr is always 3
  32. println "list data " + list.data + ", ss data " + secondElem.data
  33. secondElem.next = list;
  34. return reverseRest;
  35. }
  36.  
  37. def re = reverse(ml.firstNode)
  38. //println 'reverse it'
  39. //traverse(re)
Add Comment
Please, Sign In to add comment