LeetCode Weekly Contest 178
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
#define ListNode dummy_ListNode
#define TreeNode dummy_TreeNode
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
#undef ListNode
#undef TreeNode
bool solve(ListNode* top, vector<ListNode*> head, TreeNode *root){
vector<ListNode*> nx;
rep(i,head.size()) if(head[i] == NULL) return true;
if(root==NULL) return false;
nx.push_back(top);
rep(i,head.size()) if(head[i]->val == root->val) nx.push_back(head[i]->next);
return solve(top, nx, root->left) || solve(top, nx, root->right);
}
class Solution {
public:
bool isSubPath(ListNode* head, TreeNode* root) {
vector<ListNode*> hoge;
hoge.push_back(head);
return solve(head, hoge, root);
}
};
Current time: 2024年04月26日22時44分19秒
Last modified: 2020年03月08日10時10分03秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)