小编Lou*_*ise的帖子

是否可以在小于O(n log n)的时间内比较两个二叉树?

我编写了一个java例程来比较2个二叉树.我正在寻找在更短的时间内运行的更好的算法.

 public class TreeNode {
  int val;
  TreeNode left;
  TreeNode right;
  TreeNode(int x) { val = x; }
 }

 class Solution {
  public boolean isSameTree(TreeNode p, TreeNode q) {

    if  ( p == null && q==null)
        return true;

    if (p == null || q == null) 
        return false;

    if ( (p.val == q.val) && isSameTree(p.left, q.left) && 
      isSameTree(p.right, q.right))
        return true;
    else 
        return false;  
   }   
  }
Run Code Online (Sandbox Code Playgroud)

我的代码需要O(n log n)时间.

如何减少所需的时间?

java algorithm binary-tree time-complexity

12
推荐指数
1
解决办法
508
查看次数

标签 统计

algorithm ×1

binary-tree ×1

java ×1

time-complexity ×1