题解 | #链表内指定区间反转# #经典,没搞明白#

链表内指定区间反转

https://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c

#coding:utf-8
class ListNode:
     def __init__(self, x):
         self.val = x
         self.next = None

# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param head ListNode类 
# @param m int整型 
# @param n int整型 
# @return ListNode类
#
class Solution:
    def reverseBetween(self , head , m , n ):
        # write code here
        dummy = ListNode(x=-1)
        print ("dummy val: ", dummy.val)
        #return 
        dummy.next = head
        print ("dummy next val: ", dummy.next.val)
        #return 
        prev = dummy
        pos = head
        for i in range(0, m - 1):
            prev = pos
            pos = pos.next 
        
        t = pos
        p = pos.next 
        for i in range(0, n - m):
            tmp = p.next
            p.next = t
            t = p
            p = tmp 
        prev.next = t
        pos.next = p
        return dummy.next

全部评论

相关推荐

03-26 13:04
已编辑
电子科技大学 算法工程师
xiaowl:你这个简历“条目上”都比较有深度性,但是实际上面试官又没法很好的评估你是怎么达到很多看上去很厉害的结果的。要避免一些看上去很厉害的包装,比如高效的内存复用策略的表达,如果仅是简单的一些内存共享机制,而且面试上也没有深挖的空间,就不要这样表达。比如,工程化模式本质上可能就是定义了一些abstract class,那也就没特别多值得讲的内容。建议简历上应该侧重那些你花了大量时间和精力解决、研究的问题,不要过分追求“丰富”,而是关注在技术深入度、问题解决能力的表现上。
没有实习经历,还有机会进...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务