Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to understand python symmetric binary tree

Shulou Source: shulou.com Published: 2022-06-01 14:11:56 09月22日 Update

In this issue, the editor will bring you how to understand the python symmetric binary tree. The article is rich in content and analyzes and narrates it from a professional point of view. I hope you can get something after reading this article.

Topic description

Given a binary tree, check whether it is mirror symmetric.

For example, a binary tree [1, 2, 2, 3, 3, 4, 4, and 3] is symmetrical.

1 / 2 2 / 3 4 4 3

But the following one is not mirror symmetrical:

1 / 2 2 3 3

The idea of solving the problem

Tag: dfs

Recursive end condition:

If the pointer is null, true is returned.

False is returned if only one is empty

Recursive process:

Judge whether the current node values of the two pointers are equal

Judge whether the right subtree of An is symmetrical with the left subtree of B.

Judge whether the left subtree of An is symmetrical with the right subtree of B.

Short-circuit: there is a short-circuit phenomenon in the process of recursive judgment, that is, when doing and operating, if the previous value returns false, the later will not be calculated.

Time complexity: O (n)

Algorithm dynamic graph code class Solution {public boolean isSymmetric (TreeNode root) {return isMirror (root, root);}

Public boolean isMirror (TreeNode T1, TreeNode T2) {if (T1 = = null & & T2 = = null) return true; if (T1 = = null | | T2 = = null) return false; return (t1.val = = t2.val) & & isMirror (t1.right, t2.left) & & isMirror (t1.left, t2.right) }} above is how to understand the python symmetric binary tree shared by the editor. If you happen to have similar doubts, you might as well refer to the above analysis to understand. If you want to know more about it, you are welcome to follow the industry information channel.

Tags: Symmetry subtree recursion content pointer process mirror analysis complex professional two small and medium that is code rich in content only complexity that is ideas articles Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno OPPO Reno Redmi Linux Docker Xiaomi