給定一棵二叉樹的頭節點 head,按照如下兩種標準分別實現二叉樹邊界節點的逆時針列印。
標準:
例如,如圖 3-2 所示的樹。
按標準的列印結果為:
1,2,4,7,13,14,15,16,10,6,3
class
node
:def
__init___
(self, data)
: self.value = data
self.right =
none
self.left =
none
defprintedge
(head: node)
:if head is
none
:return
print
(head.value,
" ")
if head.left is
notnone
and head.right is
notnone
: printleftedge(head.left,
true
) printrightedge(head.right,
true
)else
: printedge(head.left if head.left is
notnone
else head.right)
defprintleftedge
(h, _print)
:if _print or
(h.left is
none
and h.right is
none):
print
(h.value,
" ")
printleftedge(h.left, _print)
printleftedge(h.right, _print and
(true
if head.left is
none
else
false))
defprintrightedge
(h, _print)
: printrightedge(h.left, _print and
(true
if head.right is
none
else
false
) printrightedge(h.right, _print)
if _print or
(h.left is
none
and h.right is
none):
print
(h.value,
" ")
3 2 列印二叉樹的邊界節點 I
給定一棵二叉樹的頭節點 head,按照如下兩種標準分別實現二叉樹邊界節點的逆時針列印。標準 例如,如圖 3 2 所示的樹。按標準1的列印結果為 1,2,4,7,11,13,14,15,16,12,10,6,3class node def init self,data self.right none ...
列印二叉樹邊界節點
class treenode def init self,val,left none right none self.val val self.left left self.right right defis leaf self return self.left is none and self.r...
二叉樹問題 列印二叉樹的邊界節點
問題 給定一棵二叉樹的頭節點,按照如下兩種標準分別實現二叉樹邊界節點的逆時針列印。標準一 1.頭節點為邊界節點 2.葉節點為邊界節點 3.如果節點在其所在層中的最左邊或最右邊,那麼也是邊界節點標準二 1.頭節點為邊界節點 2.葉節點為邊界節點 3.樹左邊界延伸下去的路徑為邊界節點 4.樹右邊界延伸下...