Zitat von
P_P:
da ja für alle Knoten entweder root^.left UND root^.right = NIL sind oder eben keines...
Das kann etwas nicht stimmen, denn dann würde es mit und ohne deinen auskommentierten Teil keinen unterschied geben, da dieser in diesem Fall immer True ergeben würde (da ja Links existiert) und es somit keinen Unterschied macht.
Und wenn das Stimmt, dann wäre wohl dein Baum defekt, bzw. er würde nicht deiner Spezifikation entsprechen.
Nja, ich weiß aber auch nicht wie die Daten in diesem Baum liegen
und da kann man auch schlecht etwas planen.
Hatte da einfach nur versucht logisch zu denken
- entweder X ist gefunden, dann wird hier abgebrochen
- oder ist Links etwas, dann wird eine 0 angehängt
- oder Rechts ist was, dann wird eine 1 angehängt
- oder es gibt nichts, dann wird hier abgebrochen
Der Code von dir macht
(das lokale "found" ignoriert, da es ja eh nichts macht
und der auskommentierte Teil ist enthalten)
- entweder X ist gefunden, dann wird hier abgebrochen
- entweder ist Links etwas, dann wird eine 0 angehängt
- oder Links und Rechts ist was (und found ist false), dann wird eine 1 angehängt
- oder es gibt nichts, dann wird hier abgebochen und Result ist zufällig, da es nicht initialisiert wurde (aber dieses würde maximal nur das Ende des String/Result mit eventuell zufälligen Werten belegen und keine
Exception auslösen)