พิมพ์ต้นไม้ไบนารี
แรงบันดาลใจจากคำถามล่าสุดเกี่ยวกับ SO ... เขียนฟังก์ชั่นเพื่อพิมพ์ต้นไม้ไบนารีในรูปแบบต่อไปนี้: 3 / \ 1 5 \ / \ 2 4 6 ผลลัพธ์ควรประกอบด้วยบรรทัดของโหนดตามด้วยบรรทัดของ/และ\อักขระที่ระบุความสัมพันธ์ตามด้วยบรรทัดของโหนด ฯลฯ คุณสามารถสมมติว่าโหนดทั้งหมดสามารถแสดงได้เป็นอักขระเดียว โหนดที่อยู่ติดกันในระดับต่ำสุดควรถูกคั่นด้วยพื้นที่อย่างน้อยหนึ่งโหนดโหนดที่อยู่ไกลออกไปควรแยกออกจากกันตามความเหมาะสม ควรวางโหนดที่มีลูกสองคนไว้ตรงกลางของลูกที่อยู่ตรงกลาง เครื่องหมายทับความสัมพันธ์ควรอยู่กึ่งกลางระหว่างผู้ปกครองและเด็กที่เหมาะสม (รอบใดก็ตามที่คุณต้องการ) การป้อนข้อมูล: อินพุตจะถูกจัดเตรียมไว้เป็นอาร์กิวเมนต์สำหรับฟังก์ชันของคุณ ฉันจะไม่ระบุโครงสร้างที่แน่นอนของต้นไม้อย่างไรก็ตามมันต้องใช้งานได้เป็นต้นไม้ไบนารีจริง ไม่มี "ต้นไม้แสดงอยู่ในโปรแกรมของฉันเนื่องจากสตริงมีลักษณะเหมือนผลลัพธ์ที่คาดหวัง" คุณอาจพิมพ์ไปที่กระแสออกหรือส่งกลับสตริงที่มีเอาท์พุทที่คุณเลือก คะแนนสำหรับรหัสที่สั้นที่สุด แต่ฉันต้องการโซลูชันที่ใช้งานได้ยาวนานกว่า short-working 90% อัพเดทสำหรับรางวัล: สำหรับเงินรางวัลฉัน (เครื่องมือเพิ่มประสิทธิภาพ) กำลังทำการเปลี่ยนแปลงเล็กน้อย: อินพุตอาจมาจาก STDIN, ARGV หรืออาร์กิวเมนต์ของฟังก์ชัน เอาต์พุตต้องอยู่ใน STDOUT (หรือconsole.logสำหรับ JS) คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นอยู่ในรูปของอาร์เรย์ตัวอย่างเช่น [1,2,3]หรือ[1 2 3] อัพเดท 2 …