php网站 怎么做授权,广州网站开发人,仿 手机 网站模板html,怎么做跑腿网站前言
为什么学习数据结构和算法#xff1f;
1.直面大厂的高薪。
2.学习编程的语言。
3.输出优雅的代码和高性能的程序。
每日练习2题#xff0c;希望大家都能收获高薪offer#xff0c;实现自由跳槽。
实现原理
主要判断二叉树的以中间线为轴#xff0c;两边的对称的…前言
为什么学习数据结构和算法
1.直面大厂的高薪。
2.学习编程的语言。
3.输出优雅的代码和高性能的程序。
每日练习2题希望大家都能收获高薪offer实现自由跳槽。
实现原理
主要判断二叉树的以中间线为轴两边的对称的位置节点是否相等。主要采用两个递归实现各节点对称点的值比较。
其中1个递归是根的左节点与根的右节点持续递归到底比较两个值是否相等。
另一个递归是根的右节点与根的左节点持续递归到底比较两个值是否相等。
具体代码实现
package test7;import java.util.List;class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left left;this.right right;}
}class Solution {TreeNode root;public boolean isSymmetric(TreeNode root) {return check(root,root);}public boolean check(TreeNode p,TreeNode q){if(pnullqnull){return true;}if(pnull||qnull){return false;}return p.valq.valcheck(p.left,q.right)check(p.right,q.left);}public static void main(String[] args) {Solution solutionnew Solution();TreeNode treeNodenew TreeNode(1);treeNode.leftnew TreeNode(2);treeNode.left.leftnew TreeNode(3);treeNode.left.rightnew TreeNode(4);treeNode.rightnew TreeNode(2);treeNode.right.leftnew TreeNode(4);treeNode.right.rightnew TreeNode(3);boolean ressolution.isSymmetric(treeNode);System.out.println(res);}
}
QA:待定