请问这段代码本地运行没问题但在洛谷只有20分是为啥(悲))
查看原帖
请问这段代码本地运行没问题但在洛谷只有20分是为啥(悲))
1024286
Ds021905楼主2024/5/9 23:09
#include<bits/stdc++.h>
using namespace std;

typedef struct TreeNode *SearchTree;

typedef struct TreeNode
{
	char s;
	SearchTree left;
	SearchTree right;
} TreeNode; 

void preorderTraversal(TreeNode *node) {
	if (node == NULL) {
        return;
    }
    printf("%c", node->s);
    preorderTraversal(node->left);
    preorderTraversal(node->right);
}

int main()
{
	int n;
	char s[3];
	scanf("%d",&n);
	TreeNode *root;
	TreeNode *array[26];
    for(int i = 0; i < 26; i++) {
    	array[i] = (TreeNode*)malloc(sizeof(struct TreeNode));
    	array[i]->s = i + 'a';
		array[i]->left = array[i]->right = NULL;
	}
	scanf("%s",s);
	root = array[s[0] - 'a'];
	root->left = s[1] == '*' ? NULL : array[s[1] - 'a'];
	root->right = s[2] == '*' ? NULL : array[s[2] - 'a'];
	for(int i = 0; i < n - 1; i++) {
		scanf("%s",s);
		array[s[0] - 'a']->left = s[1] == '*' ? NULL : array[s[1] - 'a'];
		array[s[0] - 'a']->right = s[2] == '*' ? NULL : array[s[2] - 'a'];
	}
	preorderTraversal(root);
	for (int i = 0; i < 26; i++) {
    	free(array[i]);
    }
	return 0;
}

调了好几个数据点都没找出问题(哭脸)

2024/5/9 23:09
加载中...