题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46
import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { Stack<ListNode> stack1 = new Stack<ListNode>(); Stack<ListNode> stack2 = new Stack<ListNode>(); while(pHead1!=null){ stack1.add(pHead1); pHead1 = pHead1.next; } while(pHead2!=null){ stack2.add(pHead2); pHead2 = pHead2.next; } ListNode pre = null; ListNode node1; ListNode node2; while(!stack1.isEmpty() && !stack2.isEmpty()){ node1 = stack1.pop(); node2 = stack2.pop(); if(node1 == node2){ pre = node1; continue; }else{ return pre; } } return pre; } }