2020ב שאלה מספר 4 מדעי המחשב, מועד מיוחד, אוגוסט ...

2020ב שאלה מספר 4 מדעי המחשב, מועד מיוחד, אוגוסט ,2020 מס' 899381 פתרון מלא

השינוי משפת c# לשפת java הוא מינורי.
C# - Node<int>
java - Node<Integer>

java: שמות הפונקציות מתחילות באותיות קטנות


public static Node<int> BuildDigit(Node<int> lst)
{
Node<int> p1 = lst;
Node<int> r = new Node<int>( -1,null );
Node<int> p2 = r; // תמיד צריך להיות בסוף השרשרת כדי להוסיף איברים מהסוף

while( p1!=null)
{
int x = p1.GetValue();
while(x>0)
{
int digit = x%10;
x/=10; //x=x/10;

Node<int> n = new Node<int>(digit, null);
p2.SetNext(n);
p2=p2.GetNext(); //בשביל שיהיה תמיד בסוף השרשרת
}
Node<int> n1 = new Node<int>(-9, null);
p2.SetNext(n1);
p2=p2.GetNext(); //בשביל שיהיה תמיד בסוף השרשרת
p1=p1.GetNext();

}

return r.GetNext();
}