פתרון מלאסעיף ב' של תור שווה סכומים:c#: Node publ...

פתרון מלא
סעיף ב' של תור שווה סכומים:

c#: Node<Queue<int>>
public static Node<Queue<Integer>> removeEqualSums ( Node<Queue<Integer>> lst ) //java
{
Node<Queue<Integer>> result= lst; // result - head of the list
Node<Queue<Integer>> p= lst;

//remove all the problematic firsts
boolean finish = false;
while(result!=null && !finish)
{
Queue<Integer> q = result .getValue();
if(!equalSums(q))
result= result.getNext();
else
finish=true;
}

p = result;

while(p.hasNext())
{
Queue<Integer> q = p.getNext().getValue();
if(!equalSums(q))
{
p.setNext(p.getNext().getNext());
}
else
{
p =p.getNext();
}
}

return result;
}