剑指offer——两个链表的第一个公共结点

xiaoxiao2021-02-28  162

import java.util.Stack; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if(pHead1 == null || pHead2 == null) return null; Stack<ListNode> stack1 = new Stack<>(); Stack<ListNode> stack2 = new Stack<>(); while (pHead1 != null) { stack1.push(pHead1); pHead1 = pHead1.next; } while (pHead2 != null) { stack2.push(pHead2); pHead2 = pHead2.next; } ListNode pre = null; while (true) { if(stack1.isEmpty() || stack2.isEmpty()) break; ListNode l1 = stack1.pop(); ListNode l2 = stack2.pop(); if(l1 == l2) { pre = l1; } else { break; } } return pre; } }
转载请注明原文地址: https://www.6miu.com/read-22062.html

最新回复(0)