算法:关于“旋转”

1 旋转数组

reverse(nums,0,n-k-1);
reverse(nums,n-k,n-1);
reverse(nums,0,n-1);

2 旋转字符串

return A.length() == B.length() && (A + A).contains(B)

3 旋转链表

class Solution {
    public ListNode rotateRight(ListNode head, int k) {
        if(head == null || head.next == null) return head;
        ListNode pHead = head;
        int i = 0;
        while(pHead.next != null  && i < k ) {
            pHead = pHead.next;
            i++;
        } 
        if(i < k) {
            k = k%(i+1);
            i=0;
            pHead = head;
            while(pHead.next != null  && i < k ) {
                pHead = pHead.next;
                i++;
            }
        } 

        ListNode rk = head;
        while(pHead.next!= null) {
            pHead = pHead.next;
            rk = rk.next;
        }
        if(rk.next == null) return head;
        else {
            pHead.next = head;
            head = rk.next;
            rk.next = null;
        }
        return head;
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 听劝,这个简历怎么改 #
14099次浏览 183人参与
# 面试被问“你的缺点是什么?”怎么答 #
6405次浏览 99人参与
# 水滴春招 #
16493次浏览 349人参与
# 入职第四天,心情怎么样 #
11321次浏览 63人参与
# 租房找室友 #
8027次浏览 53人参与
# 读研or工作,哪个性价比更高? #
26163次浏览 356人参与
# 职场新人生存指南 #
199236次浏览 5510人参与
# 参加完秋招的机械人,还参加春招吗? #
27000次浏览 276人参与
# 文科生还参加今年的春招吗 #
4118次浏览 31人参与
# 简历无回复,你会继续海投还是优化再投? #
48629次浏览 561人参与
# 你见过最离谱的招聘要求是什么? #
144719次浏览 829人参与
# 如果重来一次你还会读研吗 #
155719次浏览 1706人参与
# 机械人选offer,最看重什么? #
69077次浏览 449人参与
# 选择和努力,哪个更重要? #
44310次浏览 493人参与
# 如果再来一次,你还会学硬件吗 #
103647次浏览 1245人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20521次浏览 414人参与
# 招聘要求与实际实习内容不符怎么办 #
46753次浏览 494人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4652次浏览 27人参与
# 你们的毕业论文什么进度了 #
901291次浏览 8961人参与
# 软开人,你觉得应届生多少薪资才算合理? #
81379次浏览 496人参与
# 国企还是互联网,你怎么选? #
109198次浏览 853人参与
牛客网
牛客企业服务