int main(int argc, char** argv) { if(argc != 4) { std::cout << "Please provide 3 strings: The interleaving strings followed by the supposed result" << std::endl; return -1; } std::string a(argv[1]); std::string b(argv[2]); std::string c(argv[3]); std::cout << (interleaving(a, b, c) ? "true" : "false") << std::endl; return 0; }
void reorderList(ListNode* head) { ListNode* H = new ListNode(0); H->next = head; ListNode* fast = H, *slow = H; while(fast) { fast = fast->next; if(fast) fast = fast->next; else break; slow = slow->next; } ListNode* newHead = reverseList(slow->next); slow->next = NULL; interleaving(head,newHead); }