题目描述
输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)
代码:
/*public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}}*/public class Solution {public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {int len1 = getListNodeLength(pHead1);int len2 = getListNodeLength(pHead2);int diff = Math.abs(len1 - len2);while (diff > 0) {if (len1 > len2) {pHead1 = pHead1.next;} else {pHead2 = pHead2.next;}diff--;}while (pHead1 != pHead2&& pHead1 != null&& pHead2 != null) {pHead1 = pHead1.next;pHead2 = pHead2.next;}return pHead1;}private int getListNodeLength(ListNode head) {int length = 0;while (head != null) {length += 1;head = head.next;}return length;}}
