剑指offer 21-30

文章目录

  • 21.调整数组顺序使奇数位于偶数前面
  • 22.链表中倒数第k个节点

21.调整数组顺序使奇数位于偶数前面

直接双指针

class Solution {
    public int[] exchange(int[] nums) {
        for(int i=0,j=nums.length-1;i<j;){
            while(nums[i]%2==1 && i<j){i++;}
            while(nums[j]%2==0 && i<j){j--;}
            int temp=nums[i];
            nums[i]=nums[j];
            nums[j]=temp;
        }
        return nums;
    }
}

22.链表中倒数第k个节点

class Solution {
    public ListNode getKthFromEnd(ListNode head, int k) {
        ListNode fastNode=head;
        for(int i=0;i<k;i++) fastNode=fastNode.next;
        while(fastNode!=null){
            head=head.next;
            fastNode=fastNode.next;
        }
        return head;

    }
}

剑指offer停了,因为leetcode找不到了,第二版找不到,第一版也找不到了。离谱。

你可能感兴趣的:(力扣刷题专项,算法,数据结构)