记录测试代码
一、二叉树
int main() {
int *returnSize = NULL;
int **returnColumnSizes = NULL;
struct TreeNode *root = NULL;
struct TreeNode *left = NULL;
struct TreeNode *right = NULL;
struct TreeNode *right_r = NULL;
struct TreeNode *right_l = NULL;
returnSize = (int *)malloc(sizeof(4));
returnColumnSizes = (int **)malloc(sizeof(int **));
*returnColumnSizes = (int *)malloc(sizeof(int *));
root = (struct TreeNode *)malloc(sizeof(struct TreeNode));
left = (struct TreeNode *)malloc(sizeof(struct TreeNode));
right = (struct TreeNode *)malloc(sizeof(struct TreeNode));
right_r = (struct TreeNode *)malloc(sizeof(struct TreeNode));
right_l = (struct TreeNode *)malloc(sizeof(struct TreeNode));
right_r->val = 2;
right_l->val = 3;
right->val = 1;
left->val = 4;
root->val = 0;
root->left = left;
left->left = NULL;
left->right = NULL;
root->right = right;
right->left = right_l;
right->right = right_r;
right_r->right = NULL;
right_r->left = NULL;
right_l->right = NULL;
right_l->left = NULL;
minDepth(root);
return 0;
}
int main(void)
{
int *returnSize = NULL;
int **returnColumnSizes = NULL;
struct TreeNode *root = NULL;
struct TreeNode *left = NULL;
struct TreeNode *right = NULL;
struct TreeNode *right_1 = NULL;
struct TreeNode *right_2 = NULL;
struct TreeNode *right_3 = NULL;
returnSize = (int *)malloc(sizeof(4));
returnColumnSizes = (int **)malloc(sizeof(int **));
*returnColumnSizes = (int *)malloc(sizeof(int *));
root = (struct TreeNode *)malloc(sizeof(struct TreeNode));
right = (struct TreeNode *)malloc(sizeof(struct TreeNode));
right_1 = (struct TreeNode *)malloc(sizeof(struct TreeNode));
right_2 = (struct TreeNode *)malloc(sizeof(struct TreeNode));
right_3 = (struct TreeNode *)malloc(sizeof(struct TreeNode));
root->val = -1;
right->val = 0;
right_1->val = 1;
right_2->val = 2;
right_3->val = 3;
root->right = right;
root->left = NULL;
right->right = right_1;
right->left = NULL;
right_1->right = right_2;
right_1->left = NULL;
right_2->right = right_3;
right_2->left = NULL;
right_3->left = NULL;
right_3->right = NULL;
int len = minDepth(root);
return 0;
}
二、链表
int main()
{
int year = 0;
struct ListNode *tmp;
struct ListNode *root1 = NULL;
struct ListNode *root2 = NULL;
struct ListNode *root3 = NULL;
struct ListNode *root4 = NULL;
struct ListNode *root5 = NULL;
root1 = (struct ListNode *)malloc(sizeof(struct ListNode));
root2 = (struct ListNode *)malloc(sizeof(struct ListNode));
root3 = (struct ListNode *)malloc(sizeof(struct ListNode));
root4 = (struct ListNode *)malloc(sizeof(struct ListNode));
root5 = (struct ListNode *)malloc(sizeof(struct ListNode));
root1->next = root2;
root1->val = 1;
root2->next = root3;
root2->val = 2;
root3->next = root4;
root3->val = 3;
root4->next = root5;
root4->val = 4;
root5->next= NULL;
root5->val = 5;
tmp = removeNthFromEnd(root1, 2);
return 0;
}
三、二维数组
一直有关于二维数组的困扰,今天抽时间总算理清楚了,有如下两种方式描述二维数组:
int main()
{
// 法一:生成二维数组,直接赋值
/*
int m = 5;
int n = 2;
int **pairs = (int **)malloc(sizeof(int *) * m);
for (int i = 0; i < m; i++) {
pairs[i] = (int *)malloc(sizeof(int) * n);
}
pairs[0][0] = 2;
pairs[0][1] = 3;
pairs[1][0] = 1;
pairs[1][1] = 2;
pairs[2][0] = 5;
pairs[2][1] = 6;
pairs[3][0] = 3;
pairs[3][1] = 4;
pairs[4][0] = 7;
pairs[4][1] = 8;
*/
// 法二:生成二维数组,通过已有的定义数组赋值
int pairs[5][2] = { {2,3}, {3,4},{1,2}, {5,6}, {7,8}};
int m = 5;
int n = 2;
int **parisTmp = (int **)malloc(sizeof(int *) * m);
for (int i = 0; i < m; i++) {
parisTmp[i] = pairs[i];
}
int pairsSize = 5;
int pairsColSize = 5;
int ret = findLongestChain(parisTmp, pairsSize, &pairsColSize);
printf("ret = %d\n", ret);
return 0;
}