<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實戰(zhàn)61:旋轉鏈表

          共 1703字,需瀏覽 4分鐘

           ·

          2020-10-11 12:38

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎知識和業(yè)務邏輯面試+算法面試。所以,為了提高大家的算法能力,這個公眾號后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做?旋轉鏈表,我們先來看題面:

          https://leetcode-cn.com/problems/rotate-list/

          Given a linked list, rotate the list to the right by k places, where k is non-negative.

          題意

          給定一個鏈表,旋轉鏈表,將鏈表每個節(jié)點向右移動 k 個位置,其中 k 是非負數(shù)。


          示例?1:

          輸入: 1->2->3->4->5->NULL, k = 2
          輸出: 4->5->1->2->3->NULL
          解釋:
          向右旋轉 1?步: 5->1->2->3->4->NULL
          向右旋轉 2?步: 4->5->1->2->3->NULL

          示例?2:

          輸入: 0->1->2->NULL, k = 4
          輸出: 2->0->1->NULL
          解釋:
          向右旋轉 1?步: 2->0->1->NULL
          向右旋轉 2?步: 1->2->0->NULL
          向右旋轉 3?步:?0->1->2->NULL
          向右旋轉 4?步:?2->0->1->NULL


          解題

          https://segmentfault.com/a/1190000016302210
          鏈表的題目,其實就是在考指針交換,這個題目先讓鏈表連成一個環(huán),然后再切開就可以完成了,如下圖所示:


          public?class?Solution?{
          ????public?ListNode rotateRight(ListNode head, int?k) {
          ????????if?(head == null?|| head.next == null) {
          ????????????return?head;
          ????????}

          ????????int?count = 1;
          ????????ListNode cur = head;
          ????????while?(cur.next != null) {
          ????????????count++;
          ????????????cur = cur.next;
          ????????}
          ????????k = k % count;
          ????????if?(k == 0) {
          ????????????return?head;
          ????????}
          ????????cur.next = head;
          ????????ListNode dummy = new?ListNode(-1);
          ????????dummy.next = head;
          ????????ListNode prev = dummy;
          ????????for?(int?i = 0; i < count - k; i++) {
          ????????????prev = prev.next;
          ????????}
          ????????cur = prev.next;
          ????????prev.next = null;
          ????????return?cur;
          ????}
          }


          好了,今天的文章就到這里,如果覺得有所收獲,請順手點個在看或者轉發(fā)吧,你們的支持是我最大的動力。


          上期推文:


          LeetCode1-50題匯總,速度收藏!
          LeetCode刷題實戰(zhàn)51:N 皇后
          LeetCode刷題實戰(zhàn)52:N皇后 II
          LeetCode刷題實戰(zhàn)53:最大子序和
          LeetCode刷題實戰(zhàn)54:螺旋矩陣
          LeetCode刷題實戰(zhàn)55:跳躍游戲
          LeetCode刷題實戰(zhàn)56:合并區(qū)間
          LeetCode刷題實戰(zhàn)57:插入?yún)^(qū)間
          LeetCode刷題實戰(zhàn)58:最后一個單詞的長度
          LeetCode刷題實戰(zhàn)59:螺旋矩陣 II
          LeetCode刷題實戰(zhàn)60:第k個排列


          瀏覽 71
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  点.免费观看毛片网站 | 成人网免费三级 | 先锋在线资源福利 | 先锋av成人电影 香蕉国产成人毛片 | 天天综合永久入口 |