/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
TreeNode root=t2;
if(t1!=null||t2!=null)
{
root=fun(t1,t2);
root.left=mergeTrees(t1.left,t2.left);
root.right=mergeTrees(t1.right,t2.right);
}
else
{
return null;
}
return root;
}
public TreeNode fun(TreeNode t1, TreeNode t2) {
TreeNode root=t1;
if(t1==null&&t2==null)
{
return null;
}
if(t1!=null||t2!=null)
{
if(t1==null)
{
root.val=t2.val;
}
else if(t2==null)
{
root.val=t1.val;
}
else
{
root.val=t1.val+t2.val;
}
}
return root;
}
}
public static void bianli(TreeNode t2)
{
while(t2!=null)
{
System.out.println(t2.val);
bianli(t2.left);
bianli(t2.right);
}
}
public class HelloWorld{
public static class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public static void main(String []args){
System.out.println("Hello World");
TreeNode t1=new TreeNode(1);
t1.left=new TreeNode(3);
t1.right=new TreeNode(2);
t1.left.left=new TreeNode(5);
TreeNode t2=new TreeNode(2);
t2.left=new TreeNode(1);
t2.right=new TreeNode(3);
t1.left.right=new TreeNode(5);
t1.left.left=new TreeNode(0);
t2.right.right=new TreeNode(7);
t2.right.left=new TreeNode(10);
//TreeNode root=mergeTrees(t1,t2);
bianli(t2);
}
public static void bianli(TreeNode t2)
{
while(t2!=null)
{
System.out.println(t2.val);
bianli(t2.left);
bianli(t2.right);
}
}
public static TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
TreeNode root=t2;
while(t1!=null||t2!=null)
{
root=fun(t1,t2);
root.left=mergeTrees(t1.left,t2.left);
root.right=mergeTrees(t1.right,t2.right);
System.out.println("Hello World&&&&&&&&&&&&");
}
return root;
}
public static TreeNode fun(TreeNode t1, TreeNode t2) {
TreeNode root=t1;
if(t1!=null||t2!=null)
{
if(t1==null)
{
root.val=t2.val;
}
else if(t2==null)
{
root.val=t1.val;
}
else
{
root.val=t1.val+t2.val;
}
}
return root;
}
}
public class HelloWorld{
public static class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public static void main(String []args){
System.out.println("Hello World");
TreeNode t1=new TreeNode(1);
TreeNode t2=null;
/*t1.left=new TreeNode(3);
t1.right=new TreeNode(2);
t1.left.left=new TreeNode(5);
TreeNode t2=new TreeNode(2);
t2.left=new TreeNode(1);
t2.right=new TreeNode(3);
t1.left.left=null;
t2.left.right=new TreeNode(4);
t2.right.right=new TreeNode(7);
t2.right.left=null;*/
TreeNode root=mergeTrees(t1,t2);
//bianli(t2);
}
public static void bianli(TreeNode t2)
{
if(t2!=null)
{
System.out.println(t2.val);
bianli(t2.left);
bianli(t2.right);
}
}
public static TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
if(t1==null&&t2==null)
{
return null;
}
TreeNode root=new TreeNode(0);
root.left=null;
root.right=null;
if(t1!=null&&t2==null)
{
root.val=t1.val;
}
else if(t2!=null&&t1==null)
{
root.val=t2.val;
}
else if(t1!=null&&t2!=null)
{
root=fun(t1,t2);
}
if(t1.left==null&&t2.left!=null)
{
t1.left=new TreeNode(0);
root.left=mergeTrees(t1.left,t2.left);
}
if(t2.left==null&&t1.left!=null)
{
t2.left=new TreeNode(0);
root.left=mergeTrees(t1.left,t2.left);
}
if(t1.left!=null&&t2.left!=null)
{
root.left=mergeTrees(t1.left,t2.left);
}
if(t1.left==null&&t2.left==null)
{
root.left=null;
}
if(t1.right==null&&t2.right!=null)
{
t1.right=new TreeNode(0);
root.right=mergeTrees(t1.right,t2.right);
}
if(t2.right==null&&t1.right!=null)
{
t2.right=new TreeNode(0);
root.right=mergeTrees(t1.right,t2.right);
}
if(t1.right!=null&&t2.right!=null)
{
root.right=mergeTrees(t1.right,t2.right);
}
if(t1.right==null&&t2.right==null)
{
root.right=null;
}
return root;
}
public static TreeNode fun(TreeNode t1, TreeNode t2) {
TreeNode root=t1;
if(t1!=null||t2!=null)
{
if(t1==null&&t2!=null)
{
root.val=t2.val;
}
else if(t2==null&&t1!=null)
{
root.val=t1.val;
}
else
{
root.val=t1.val+t2.val;
}
System.out.println(root.val);
}
return root;
}
}