您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法
删除排序链表中的重复元素(图文)
第十三双眼睛2023-11-26【数据结构与算法】人已围观
简介删除排序链表中的重复元素
给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
思路:定义一个辅助节点,从链表的头部开始移动,判断当前节点和下一个节点的值是否一样,如果不一样,当前节点往后移动,如果以后,当前节点的Next域不再指向下一个节点,而是指向下一个节点的下一个节点。代码如下,
节点类:
实现方法:
节点类:
class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } @Override public String toString() { return "ListNode{" + "val=" + val + ", next=" + next + '}'; } } |
public static ListNode method1(ListNode node) { if (node == null) { return node; } //定义一个辅助节点指向当前节点 ListNode current = node; while (current.next != null) { // 如果当前元素和下一个元素的值一样,当前元素的Next域就指向下一个元素的下一个元素 if (current.val == current.next.val) { current.next = current.next.next; } else { current = current.next; } } return node; } |
Tags:
很赞哦! ()
上一篇:爬楼梯(图文)
下一篇:二叉树的中序遍历(图文)
相关文章
随机图文
-
归并排序法(图文)
归并排序法 -
最长公共前缀
最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 -
合并两个有序数组(图文)
合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 -
将有序数组转换为二叉搜索树(图文)
将有序数组转换为二叉搜索树 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。