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 版本的题解,正好贡献一版,给大家抛个砖。

主要就是别忘记判空

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务