คุณได้รับต้นไม้ซึ่งตามธรรมเนียมวิทยาการคอมพิวเตอร์มีรากที่ด้านบนและทิ้งไว้ที่ด้านล่าง โหนดใบไม้จะมีป้ายกำกับตัวเลข เป้าหมายของคุณคือการทำเครื่องหมายใบไม้พิเศษ-1
และเลื่อนขึ้นเป็นรากใหม่
[3, [[16], -1], [4]] --> [[[[4], 3], [16]]]
คุณสามารถจินตนาการถึงการหมุนใบไม้พิเศษไปที่ด้านบนและปล่อยให้ต้นไม้ที่เหลือออกไปเที่ยว ทำให้ต้นไม้อยู่ในระนาบขณะหมุนเพื่อให้ได้ลำดับจากซ้ายไปขวาของกิ่งไม้ทั้งหมด
-1
ต้นไม้ใหม่ที่มีทุกใบของต้นไม้เดิมยกเว้น
การป้อนข้อมูล:
-1
ต้นไม้ที่มีใบเป็นจำนวนเต็มบวกชัดเจนยกเว้นหนึ่งใบ รากของต้นไม้จะมีกิ่งอย่างน้อยสองกิ่งหลุดออกมา
อินพุตถูกกำหนดเป็นรายการแบบซ้อนเช่น[3, [[16], -1], [[4]]]
หรือการแทนสตริง ตัวคั่นเป็นตัวเลือกและขึ้นอยู่กับคุณ แต่ต้องแยกตัวเลขที่อยู่ติดกัน
เอาท์พุท:
เอาท์พุทหรือพิมพ์ต้นไม้ที่พลิกในรูปแบบเดียวกับอินพุตของคุณ ลำดับของรายการจะต้องถูกต้อง การปรับเปลี่ยนในสถานที่เป็นเรื่องปกติ
หากอินพุต / เอาท์พุตของคุณเป็นประเภทข้อมูลจะต้องเป็นประเภทที่พิมพ์ในรูปแบบที่ต้องการตามค่าเริ่มต้น บิวด์อินที่โดยทั่วไปจะทำงานให้คุณไม่ได้รับอนุญาต
กรณีทดสอบ:
>> [3, [[16], -1], [4]]
[[[[4], 3], [16]]]
>> [2, -1]
[[2]]
>> [44, -1, 12]
[[12, 44]]
>> [[[[-1]]], [[[[4]]]]]
[[[[[[[[[4]]]]]]]]]
>> [[1, 2, 3], [4, -1, 6], [7, 8, 9]]
[[6, [[7, 8, 9], [1, 2, 3]], 4]]
>> [9, [8, [7, [6, -1, 4], 3], 2], 1]
[[4, [3, [2, [1, 9], 8], 7], 6]]
4
มีสองวงเล็บอีกรอบมันกว่า3
แต่แผนภาพเพียง 1 ชั้นลึก