刷題617. Merge Two Binary Trees

一、題目說明

題目617. Merge Two Binary Trees,合併兩個二叉樹。難度是Easy!

二、我的解答

這個題目,用遞歸解法非常簡單,同二叉樹的遞歸遍歷。

class Solution{
	public:
		TreeNode* mergeTrees(TreeNode* t1,TreeNode* t2){
			if(t1==NULL) return t2;
			if(t2==NULL) return t1;
			int cur = t1->val + t2->val;
			TreeNode* root = new TreeNode(cur);
			root->left = mergeTrees(t1->left,t2->left);
			root->right = mergeTrees(t1->right,t2->right);
			return root;
		}
};

性能如下:

Runtime: 52 ms, faster than 46.21% of C++ online submissions for Merge Two Binary Trees.
Memory Usage: 26.1 MB, less than 5.55% of C++ online submissions for Merge Two Binary Trees.

三、優化措施

非遞歸算法就不寫了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章