摘要:
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:建立一个新的结点 然后list1和list2比较 谁小谁连接在新结点的后面。 public class Solution { public ListNode Merge(ListNode list1, 阅读全文
摘要:
输入一个链表,反转链表后,输出新链表的表头。 比较经典 也比较容易理解 画一下图跟着代码走一下 就明白了 public class Solution { public ListNode ReverseList(ListNode head) { if(head == null){ return nul 阅读全文
摘要:
输入一个链表,输出该链表中倒数第k个结点。 思路:定义两个结点。第二个结点先走k个点 然后两个结点一起走 直到第二个结点到终点。 可以理解为两个结点构成了一把尺子。 public class Solution { public ListNode FindKthToTail(ListNode head 阅读全文
摘要:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 方法1: 开辟另一个数组,对原有的数组扫描两次,第一次扫描往新的数组中放奇数,第二次放偶数。 public class Solut 阅读全文
摘要:
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 方法一: 注意指数为负的情况。正常迭乘 时间复杂度为0(n); public class Solution { public double Pow 阅读全文
摘要:
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 最开始想 和1做与运算 然后位右移 没有通过测试 是因为负数位右移用1来补位,导致判断没法终止。所以换一种方法 还是和1做与运算,但是1位左移,一直到1位左移变成0为止,如果位运算结果不是0,计算结果➕1; public class 阅读全文