zoukankan      html  css  js  c++  java
  • LeetCode_203. Remove Linked List Elements

    203. Remove Linked List Elements

    Easy

    Remove all elements from a linked list of integers that have value val.

    Example:

    Input:  1->2->6->3->4->5->6, val = 6
    Output: 1->2->3->4->5
    package leetcode.easy;
    
    /**
     * Definition for singly-linked list. public class ListNode { int val; ListNode
     * next; ListNode(int x) { val = x; } }
     */
    public class RemoveLinkedListElements {
    	private static void print(ListNode l) {
    		if (l == null) {
    			return;
    		}
    		while (l != null) {
    			System.out.print(l.val);
    			if (l.next != null) {
    				System.out.print("->");
    			}
    			l = l.next;
    		}
    		System.out.println();
    	}
    
    	public ListNode removeElements(ListNode head, int val) {
    		if (head == null) {
    			return head;
    		}
    		if (head.val == val) {
    			return removeElements(head.next, val);
    		} else {
    			ListNode p = head;
    			while (p.next != null) {
    				if (p.next.val == val) {
    					p.next = p.next.next;
    				} else {
    					p = p.next;
    				}
    			}
    			return head;
    		}
    	}
    
    	@org.junit.Test
    	public void test() {
    		ListNode ln1 = new ListNode(1);
    		ListNode ln2 = new ListNode(2);
    		ListNode ln3 = new ListNode(6);
    		ListNode ln4 = new ListNode(3);
    		ListNode ln5 = new ListNode(4);
    		ListNode ln6 = new ListNode(5);
    		ListNode ln7 = new ListNode(6);
    		ln1.next = ln2;
    		ln2.next = ln3;
    		ln3.next = ln4;
    		ln4.next = ln5;
    		ln5.next = ln6;
    		ln6.next = ln7;
    		ln7.next = null;
    		print(ln1);
    		print(removeElements(ln1, 6));
    	}
    }
    
  • 相关阅读:
    数据结构3——图
    数据结构2——树
    数据结构1——堆栈和队列
    最大流——Dinic算法
    最大流——EK算法
    网络流——poj1273(入门)
    网络流(进阶)
    网络流
    并查集——poj1182(带权并查集高阶)
    并查集——poj1308(并查集延伸)
  • 原文地址:https://www.cnblogs.com/denggelin/p/11724892.html
Copyright © 2011-2022 走看看