الدرس 5 من 8

التسطيح والتعشيش

هدف الدرس

شجرة تصير قائمة

01

الشرح

القوائم المتداخلة تأتيك من كل مكان: تعليقات لها ردود، وأقسام لها أقسام فرعية. وأكثر ما تحتاجه عليها مرور واحد مسطّح.

arr.flat(Infinity) يكفي للمصفوفات المتداخلة. لكن الشجرة الحقيقية كائنات لها children، وهذه تحتاج استدعاءً ذاتيًّا: الدالة تنادي نفسها على كل فرع.

والاستدعاء الذاتي يحتاج دائمًا شرط توقّف — هنا: فرع بلا أبناء.

02

المطلوب

اكتب flattenTree(nodes) تُرجع قائمة مسطّحة، وكل عنصر فيها يحمل depth.

معايير التصحيح

6 معايير
  1. العدد الكلّي ستّ عقد
  2. الترتيب يتبع الشجرة عمقًا أولًا
  3. العمق محسوب صحيحًا
  4. القائمة الفارغة تُرجع فارغة
  5. العقدة بلا أبناء لا تكسرها
  6. القائمة مرسومة بستّة أسطر
index.html
المعاينة
index.html100%
–/6

اضغط «تشغيل» ليبدأ الفحص.

6 معايير في بطاقة «المطلوب».