问题描述
我尝试使用此方法来递归删除节点,但不知何故它说 myRoot 将始终为空。你能告诉我怎么做吗?
import matplotlib.lines as mlines
eight = mlines.Line2D([],[],color='blue',marker='s',ls='',label='8')
nine = mlines.Line2D([],marker='D',label='9')
# etc etc
plt.legend(handles=[eight,nine])
注意:- 此代码仅删除有一个孩子或没有孩子的节点。我目前正在删除一个有 2 个孩子的节点,所以请不要为我解决这个问题。
解决方法
根据对该问题的评论,您询问的是来自您的 IDE 的风格推荐,具体涉及:
if (myRoot == null) return myRoot;
您的 IDE 意味着当执行该特定 return
语句时,myRoot
始终为 null
。很明显是这样,因为 if
确保不执行 return
。您的 IDE 建议您将其更改为
if (myRoot == null) return null;
是否这样做取决于您,但就我个人而言,我会接受您的 IDE 的建议,因为它使代码更清晰一些。