टीएल;डीआर

  • समस्या: सीटीसीआई समस्या १७.१२ का तकनीकी विवरण।
  • दृष्टिकोण: सीटीसीआई problem १७.१२: convert a बीएसटी into a sorted doubly linked list स्थान पर ही (इन-प्लेस) using BiNode data structures.
  • जटिलता: इष्टतम समय और मेमोरी संतुलन।

यह लेख सीटीसीआई समस्या १७.१२ का एक स्पष्ट विवरण प्रदान करता है।

१. संदर्भ और समस्या कथन

सीटीसीआई problem १७.१२: convert a बीएसटी into a sorted doubly linked list स्थान पर ही (इन-प्लेस) using BiNode data structures.

२. कोड और कार्यान्वयन

public class BiNode {
    public BiNode node1, node2;
    public int data;
    public BiNode(int d) { data = d; }
}
public class BSTToLinkedList {
    public BiNode convert(BiNode root) {
        if (root == null) return null;
        BiNode part1 = convert(root.node1);
        BiNode part2 = convert(root.node2);
        if (part1 != null) { concat(getTail(part1), root); }
        if (part2 != null) { concat(root, part2); }
        return part1 == null ? root : part1;
    }
    private void concat(BiNode x, BiNode y) { x.node2 = y; y.node1 = x; }
    private BiNode getTail(BiNode node) { while (node.node2 != null) node = node.node2; return node; }
}

३. सारांश और एज केसेस

हमेशा सीमांत स्थितियों और इनपुट की जांच करें।