forinterview2
BAN USER<pre lang="" line="1" title="CodeMonkey46359" class="run-this">class SortLinkedList {
public Node sort123(Node head) {
Node[] starters = new Node[3];
Node firstNode = head;
do {
Node next = head.getNext();
head.setNext(head);
head.setPrev(head);
Node curNode = starters[head.getData() - 1];
if (curNode == null) {
starters[head.getData() - 1] = head;
} else {
Node lastNode = curNode.getPrev();
lastNode.setNext(head);
head.setPrev(lastNode);
head.setNext(curNode);
curNode.setPrev(head);
}
head = next;
} while (firstNode != head);
firstNode = null;
for (int i = 0; i < 3; ++i) {
Node curNode = starters[i];
if (curNode != null) {
if (firstNode == null) {
firstNode = curNode;
} else {
Node prevLast = firstNode.getPrev();
Node lastCur = curNode.getPrev();
prevLast.setNext(curNode);
curNode.setPrev(prevLast);
lastCur.setNext(firstNode);
firstNode.setPrev(lastCur);
}
}
}
return firstNode;
}
}</pre><pre title="CodeMonkey46359" input="yes">
</pre>
<pre lang="" line="1" title="CodeMonkey31442" class="run-this">class Sum {
- forinterview2 November 22, 2011public int childSum(Node root) {
if(root == null) {
return 0;
}
int returnVal = root.getData();
int lsum = sum(root.getLeft());
int rsum = sum(root.getRight());
root.setData(lsum + rsum);
return returnVal;
}
}
</pre><pre title="CodeMonkey31442" input="yes">
</pre>