Kotlin 题解 | #删除链表峰值#
删除链表峰值
https://www.nowcoder.com/practice/30a06e4e4aa549198d85deef1bab6d25
/** * class ListNode(var `val`: Int) { * var next: ListNode? = null * } */ object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ fun deleteNodes(head: ListNode?): ListNode? { // write code here var pre: ListNode? = null pre = head var cur: ListNode? = null cur = head cur = cur?.next while(cur != null) { if(cur.next != null && pre != null && cur.`val` > (pre?.`val` ?: 0) && cur.`val` > cur?.next.`val`) { pre?.next = cur.next } pre = cur cur = cur.next } return head } }
从新刷题第一题,涨涨信心,顺便看到也没有 Kotlin 版本的题解,正好贡献一版,给大家抛个砖。
主要就是别忘记判空