LeetCode Weekly Contest 178 3問目 - Linked List in Binary Tree [1367]

Source

LeetCode Weekly Contest 178
問題文

問題概要

省略

解法

省略

cLayversion 20200308-1)のコード

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)

ログイン: