Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node {
- def next
- def data
- }
- def n3 = new Node(data:"three", next:null)
- def n2 = new Node(data:"two", next:n3)
- def n1 = new Node(data:"one", next:n2)
- class MyList { def firstNode }
- def ml = new MyList(firstNode:n1)
- def traverse(Node n) {
- if (n == null) return null
- println n.data
- traverse(n.next)
- }
- //traverse(ml.firstNode)
- Node reverse(Node list)
- {
- // println "reverse call " + list.data
- if (list == null) { println "null"; return null }
- if (list.next == null) { return list }
- // println "in body"
- Node secondElem = list.next;
- list.next = null;
- Node reverseRest = reverse(secondElem); //rr is always 3
- println "list data " + list.data + ", ss data " + secondElem.data
- secondElem.next = list;
- return reverseRest;
- }
- def re = reverse(ml.firstNode)
- //println 'reverse it'
- //traverse(re)
Add Comment
Please, Sign In to add comment