博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指offer三十六之两个链表的第一个公共结点
阅读量:6719 次
发布时间:2019-06-25

本文共 1181 字,大约阅读时间需要 3 分钟。

一、题目

  输入两个链表,找出它们的第一个公共结点。

二、思路

  如果存在共同节点的话,那么从该节点,两个链表之后的元素都是相同的。也就是说两个链表从尾部往前到某个点,节点都是一样的。我们可以用两个栈分别来装这两条链表。一个一个比较出来的值。找到第一个相同的节点。

三、代码

/*  思路: 如果存在共同节点的话,那么从该节点,两个链表之后的元素都是相同的。        也就是说两个链表从尾部往前到某个点,节点都是一样的。        我们可以用两个栈分别来装这两条链表。一个一个比较出来的值。        找到第一个相同的节点。*/import java.util.Stack;public class Solution {    public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {        if (pHead1 == null || pHead2 == null) {            return null;        }        Stack
stack1 = new Stack<>(); Stack
stack2 = new Stack<>(); while (pHead1 != null) { stack1.push(pHead1); pHead1 = pHead1.next; } while (pHead2 != null) { stack2.push(pHead2); pHead2 = pHead2.next; } ListNode commonListNode = null; while (!stack1.isEmpty() && !stack2.isEmpty() && stack1.peek() == stack2.peek()) { stack2.pop(); commonListNode = stack1.pop(); } return commonListNode; }}
View Code

---------------------------------------------

参考链接:

https://www.nowcoder.com/questionTerminal/6ab1d9a29e88450685099d45c9e31e46

转载地址:http://wxcmo.baihongyu.com/

你可能感兴趣的文章
python内置函数中的map,filter,reduce函数例子
查看>>
我的Android进阶之旅------>对Java中注释/**@hide*/的初步认识
查看>>
mybatis--Mapper 常见报错总结(持续总结)
查看>>
一个农民工写的Json组件,让大神们情何以堪.
查看>>
Python3向网页POST数据
查看>>
经常生气的人,身体有什么变化?
查看>>
linux之SQL语句简明教程---CREATE VIEW
查看>>
CentOS7.4中安装MySQL5.6
查看>>
LeetCode OJ - Gas Station
查看>>
MacOSX中降频的方法
查看>>
audio音频暂停和播放
查看>>
Windows下安装Python requests模块
查看>>
java图形用户界面边界布局管理器
查看>>
java web 程序---注册页面密码验证
查看>>
Linux修改环境变量步骤
查看>>
PyQt4 / PyQt5
查看>>
使用vue开发输入型组件更好的一种解决方式(子组件向父组件传值,基于2.2.0)
查看>>
linux 服务器安装 nginx
查看>>
108. Convert Sorted Array to Binary Search Tree
查看>>
Android 学习开发笔记《Service 与 Thread 的区别 》
查看>>