/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { ListNode* List1 = pHead1; ListNode* List2 = pHead2; while (List1 != List2) { List1 = List1 != nullptr ? List1->next : pHead2; List2 = List2 != nullptr ? List2->next : pHead1; } return List1; } };