<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:反轉(zhuǎn)鏈表

          共 4026字,需瀏覽 9分鐘

           ·

          2021-03-10 12:44


          前言

          1

          反轉(zhuǎn)單鏈表

          解題思路

          使用兩個臨時變量,分別標記反轉(zhuǎn)過程中的兩個鏈表的頭。

          class Solution {
              public ListNode reverseList(ListNode head) {

                  if (head == null || head.next == null) {
                          return head;
                      }

                      ListNode temp;
                      ListNode newHead = null;

                      while (head != null) {

                          temp = head.next;
                          head.next = newHead;
                          newHead = head;
                          head = temp;

                      }

                      return newHead;

              }
          }

          我也就虐虐這種 Easy 的。

          2

          反轉(zhuǎn) m 到 n 的鏈表

          解題思路

          1. 先定位到 left 和 leftPrev 節(jié)點
          2. 反轉(zhuǎn)
          3. 結(jié)束
          class Solution {
              public ListNode reverseBetween(ListNode head, int left, int right) {
                      
                  if (left == right) {
                      return head;
                  }

                  // 第一個節(jié)點位置是
                  ListNode tempHead = new ListNode(-1, head);

                  ListNode prevNode = tempHead;

                  // 上一個節(jié)點, 節(jié)點從 1 開始計數(shù)
                  for (int i = 1; i < left; i++) {
                      prevNode = prevNode.next;
                  }

                  ListNode cur = prevNode.next;
                  // left 位置的節(jié)點
                  ListNode leftNode = prevNode.next;
                  ListNode temp;

                  // 反轉(zhuǎn)
                  for (int i = left; i <= right; i++) {
                      leftNode.next = cur.next;
                      temp = cur.next;

                      cur.next = prevNode.next;
                      prevNode.next = cur;
                      cur = temp;

                  }
                  return tempHead.next;
              }
          }

          3

          K 個一組翻轉(zhuǎn)鏈表


          - <End /> -




          歷史文章 | 相關推薦


          IDEA 敏捷開發(fā)技巧——后綴完成

          IDEA 敏捷開發(fā)技巧——實時模版

          給大家介紹下,這是我的流程圖軟件 —— draw.io



          瀏覽 67
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  苍井空一二三 | 欧美A片在线免费观看 | 成人淫色视频在线观看 | 日韩大香蕉在线 | 欧美在线www |