java.lang.Object
g2001_2100.s2074_reverse_nodes_in_even_length_groups.Solution

public class Solution extends Object
2074 - Reverse Nodes in Even Length Groups.<p>Medium</p> <p>You are given the <code>head</code> of a linked list.</p> <p>The nodes in the linked list are <strong>sequentially</strong> assigned to <strong>non-empty</strong> groups whose lengths form the sequence of the natural numbers (<code>1, 2, 3, 4, ...</code>). The <strong>length</strong> of a group is the number of nodes assigned to it. In other words,</p> <ul> <li>The <code>1<sup>st</sup></code> node is assigned to the first group.</li> <li>The <code>2<sup>nd</sup></code> and the <code>3<sup>rd</sup></code> nodes are assigned to the second group.</li> <li>The <code>4<sup>th</sup></code>, <code>5<sup>th</sup></code>, and <code>6<sup>th</sup></code> nodes are assigned to the third group, and so on.</li> </ul> <p>Note that the length of the last group may be less than or equal to <code>1 + the length of the second to last group</code>.</p> <p><strong>Reverse</strong> the nodes in each group with an <strong>even</strong> length, and return <em>the</em> <code>head</code> <em>of the modified linked list</em>.</p> <p><strong>Example 1:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/10/25/eg1.png" alt="" /></p> <p><strong>Input:</strong> head = [5,2,6,3,9,1,7,3,8,4]</p> <p><strong>Output:</strong> [5,6,2,3,9,1,4,8,3,7]</p> <p><strong>Explanation:</strong></p> <ul> <li> <p>The length of the first group is 1, which is odd, hence no reversal occurs.</p> </li> <li> <p>The length of the second group is 2, which is even, hence the nodes are reversed.</p> </li> <li> <p>The length of the third group is 3, which is odd, hence no reversal occurs.</p> </li> <li> <p>The length of the last group is 4, which is even, hence the nodes are reversed.</p> </li> </ul> <p><strong>Example 2:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/10/25/eg2.png" alt="" /></p> <p><strong>Input:</strong> head = [1,1,0,6]</p> <p><strong>Output:</strong> [1,0,1,6]</p> <p><strong>Explanation:</strong></p> <ul> <li> <p>The length of the first group is 1. No reversal occurs.</p> </li> <li> <p>The length of the second group is 2. The nodes are reversed.</p> </li> <li> <p>The length of the last group is 1. No reversal occurs.</p> </li> </ul> <p><strong>Example 3:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/11/17/ex3.png" alt="" /></p> <p><strong>Input:</strong> head = [1,1,0,6,5]</p> <p><strong>Output:</strong> [1,0,1,5,6]</p> <p><strong>Explanation:</strong></p> <ul> <li> <p>The length of the first group is 1. No reversal occurs.</p> </li> <li> <p>The length of the second group is 2. The nodes are reversed.</p> </li> <li> <p>The length of the last group is 2. The nodes are reversed.</p> </li> </ul> <p><strong>Constraints:</strong></p> <ul> <li>The number of nodes in the list is in the range <code>[1, 10<sup>5</sup>]</code>.</li> <li><code>0 <= Node.val <= 10<sup>5</sup></code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • reverseEvenLengthGroups

      public ListNode reverseEvenLengthGroups(ListNode head)