您的位置:首页 > 理论基础 > 数据结构算法

python 通过函数无返回的修改数据结构,在函数外部,数据结构也可被修改

2017-05-11 10:27 302 查看
class TreeNode:
def __init__(self,x):
self.val = x
self.left = None
self.right = None

def change(root):
root.left,root.right = root.right,root.left

if __name__=="__main__":
root = TreeNode(0)
root.left = TreeNode(1)
root.right = TreeNode(2)

change(root)
print root.left.val

最终的输出为:2

也就是说,就算change 没有返回root,在函数外部的root的结构也被修改。

原因是数据结构内部的地址关系在函数中遭到了修改,因此就算从函数外部看,数据结构也遭到改变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐