剑指Offer Day6 2020-02-24

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

题目:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,
使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

public class Solution {
    public void reOrderArray(int [] array) {
        if (array.length == 0) {
            return;
        }
        int p1 = 0;
        int p2 = array.length - 1;
        while (p1 < p2) {
            while (p1 < p2 && isOdd(array[p1])) {
                p1 ++;
            }
            while (p1 < p2 && !(isOdd(array[p2]))) {
                p2 --;
            }
            if (p1 < p2) {
                int temp = array[p1];
                array[p1] = array[p2];
                array[p2] = temp;
            }
        }
    }
    
    private static boolean isOdd(int num) {
        return (num & 0x1) == 1;
    }
}

2.返回链表倒数第k个结点

题目:
输入一个链表,输出该链表中倒数第k个结点。

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
        // p1 -> k - 1
        if (head == null || k == 0) {
            return null;
        }
        ListNode p1 = head;
        ListNode p2 = head;
        for (int i = 0; i < (k - 1); i ++) {
            if (p1.next != null) {
                p1 = p1.next;
            } else {
                return null;
            }
        }
        while (p1.next != null) {
            p1 = p1.next;
            p2 = p2.next;
        }
        return p2;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 找出数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,...
    BookThief阅读 5,806评论 0 2
  • 1.二维数组的查找 题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一...
    少年梦游计_3403阅读 4,860评论 0 1
  • 下面是我整理的,剑指Offer前五章所有的题目以及相关题和拓展题的题目和答案。代码的话放在github上,您可以下...
    kikido阅读 4,642评论 0 1
  • 说明: 本文中出现的所有算法题皆来自牛客网-剑指Offer在线编程题,在此只是作为转载和记录,用于本人学习使用,不...
    秋意思寒阅读 4,836评论 1 1
  • 此时,我所在的城市正在下着大雨,看着躺在电脑旁露着白肚皮的喵小姐,想起了十个月前也是一个下雨的晚上,男票在便利店买...
    特立独行一只喵阅读 4,709评论 0 2