आपको एक पेड़ दिया जाता है, जिसे कंप्यूटर विज्ञान की परंपरा में सबसे ऊपर जड़ और सबसे नीचे पत्तियां होती हैं । पत्ती नोड्स को संख्याओं के साथ लेबल किया जाता है। आपका लक्ष्य चिह्नित किए गए विशेष पत्ते को लेना है -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 परत को अधिक गहरा आरेखित किया गया है।