Scala实现删除链表中倒数第n个元素(leetCode 19)

https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/
object Solution {
    def removeNthFromEnd(head: ListNode, n: Int): ListNode = {
        val len = getLength(head)
        if(len == 0){ //链表为空
            head
        }else{
            val preHead = new ListNode(-1,head)
            var cur = preHead
            //待删除节点的前驱节点
            val deleteNodeFormerLocation = len - n 
            for(i<-1 to deleteNodeFormerLocation){
                cur = cur.next
            }            
            cur.next = cur.next.next 
            preHead.next 
        }
    }

    //获取链表总长度
    def getLength(head:ListNode)={
        var cur = head
        var len = 0
        while(cur != null){
            len += 1
            cur = cur.next
        }
        len
    }      
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值