mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 22:28:40 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
// File: ListNode.cs
 | 
						|
// Created Time: 2022-12-16
 | 
						|
// Author: mingXta (1195669834@qq.com)
 | 
						|
 | 
						|
namespace hello_algo.include;
 | 
						|
 | 
						|
/// <summary>
 | 
						|
/// Definition for a singly-linked list node
 | 
						|
/// </summary>
 | 
						|
public class ListNode
 | 
						|
{
 | 
						|
    public int val;
 | 
						|
    public ListNode? next;
 | 
						|
 | 
						|
    /// <summary>
 | 
						|
    /// Generate a linked list with an array
 | 
						|
    /// </summary>
 | 
						|
    /// <param name="x"></param>
 | 
						|
    public ListNode(int x)
 | 
						|
    {
 | 
						|
        val = x;
 | 
						|
    }
 | 
						|
 | 
						|
    /// <summary>
 | 
						|
    /// Generate a linked list with an array
 | 
						|
    /// </summary>
 | 
						|
    /// <param name="arr"></param>
 | 
						|
    /// <returns></returns>
 | 
						|
    public static ListNode? ArrToLinkedList(int[] arr)
 | 
						|
    {
 | 
						|
        ListNode dum = new ListNode(0);
 | 
						|
        ListNode head = dum;
 | 
						|
        foreach (int val in arr)
 | 
						|
        {
 | 
						|
            head.next = new ListNode(val);
 | 
						|
            head = head.next;
 | 
						|
        }
 | 
						|
        return dum.next;
 | 
						|
    }
 | 
						|
 | 
						|
    /// <summary>
 | 
						|
    /// Get a list node with specific value from a linked list
 | 
						|
    /// </summary>
 | 
						|
    /// <param name="head"></param>
 | 
						|
    /// <param name="val"></param>
 | 
						|
    /// <returns></returns>
 | 
						|
    public static ListNode? GetListNode(ListNode? head, int val)
 | 
						|
    {
 | 
						|
        while (head != null && head.val != val)
 | 
						|
        {
 | 
						|
            head = head.next;
 | 
						|
        }
 | 
						|
        return head;
 | 
						|
    }
 | 
						|
 | 
						|
    public override string? ToString()
 | 
						|
    {
 | 
						|
        List<string> list = new();
 | 
						|
        var head = this;
 | 
						|
        while (head != null)
 | 
						|
        {
 | 
						|
            list.Add(head.val.ToString());
 | 
						|
            head = head.next;
 | 
						|
        }
 | 
						|
        return string.Join("->", list);
 | 
						|
    }
 | 
						|
}
 |