• 剑指offer——两个链表的公共节点


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

    解题思路:

    找出2个链表的长度,然后让长的先走两个链表的长度差,然后再一起走(因为2个链表用公共的尾部)
     
     1 /*
     2 public class ListNode {
     3     int val;
     4     ListNode next = null;
     5 
     6     ListNode(int val) {
     7         this.val = val;
     8     }
     9 }*/
    10 public class Solution {
    11     public ListNode FindFirstCommonNode(ListNode phead1, ListNode phead2) {
    12         
    13         int head1_length = getlength(phead1);
    14         int head2_length = getlength(phead2);
    15         
    16         if(head1_length>=head2_length)
    17         {
    18             int chazhi = head1_length-head2_length;
    19             for(int i=0;i<chazhi;i++)
    20             {
    21                 phead1 = phead1.next;
    22             }
    23             
    24         }
    25         else if(head1_length<head2_length)
    26         {
    27             int chazhi = head2_length-head1_length;
    28             for(int i=0;i<chazhi;i++)
    29             {
    30                 phead2 = phead2.next;
    31             }
    32             
    33         }
    34         while(phead1!=phead2)
    35         {
    36             phead1 = phead1.next;
    37             phead2 = phead2.next;
    38         }
    39         
    40         return phead1;
    41         
    42  
    43     }
    44     
    45     public static int getlength(ListNode l1)
    46     {
    47         int length=0;
    48         
    49         while(l1!=null)
    50         {
    51             length++;
    52             l1=l1.next;
    53         }
    54         return length;
    55     }
    56 }
  • 相关阅读:
    SVN操作指南
    .NET Tools
    SQL条件查询控件
    txt文件导入Sql Server数据库表方法
    黑盒测试用例设计方法
    JS库
    在 C# 中 ("x" == "X") 何时成立?
    奶牛问题,别人写的,自己试了一下.
    Some Cool Tips For .NET
    Excel Data Reader Read Excel files in .NET
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10872679.html
Copyright © 2020-2023  润新知