88.合并两个有序数组
题目链接
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int i=m-1,j=n-1,k=m+n-1;
while(i>=0&&j>=0){
if(nums1[i]<nums2[j])nums1[k--]=nums2[j--];
else nums1[k--]=nums1[i--];
}
while(j>=0)nums1[k--]=nums2[j--];
}
};
100.相同的树
题目链接
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if(p == NULL && q == NULL)return true;
if(p == NULL || q == NULL)return false;
if(p->val != q->val)return false;
if(!isSameTree(p->left,q->left)) return false;
if(!isSameTree(p->right,q->right)) return false;
return true;
}
};

本文解析了LeetCode上的两道经典算法题:合并两个有序数组与判断两棵树是否相同。提供了完整的C++代码实现,包括如何合并两个有序数组为一个新的有序数组,以及如何通过递归比较节点值和子树来判断两棵树是否完全相同。
421

被折叠的 条评论
为什么被折叠?



