摘要:
输入一个链表,反转链表后,输出新链表的表头。 *与之前的问题不同,这里需要修改链表的指向(之前的问题,不需要修改结点的指针,只需使用栈保存每个结点的值) *注意非空处理以及最后一个结点指针的修改 阅读全文
摘要:
1 /* 2 public class ListNode { 3 int val; 4 ListNode next = null; 5 6 ListNode(int val) { 7 this.val = val; 8 } 9 }*/ 10 public class Solution { 11 public ListNo... 阅读全文
摘要:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 *思路:遍历数组,找到第一个偶数的位置 i ,然后以此位置为起点,找到后续第一个奇数的位置 j,然后保存下 array[j], 并 阅读全文
摘要:
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路:将原数字与1按位进行与操作。 阅读全文
摘要:
public class Solution { public int Fibonacci(int n) { //错误输入处理 if(n<0) return -1; int pre = 1; int result = 0; for(int i=0; i<n; i++){ //计算第i项 ... 阅读全文
摘要:
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Int 阅读全文
摘要:
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 *考察栈的使用 *使用循环输出Stack中内容的时候,不能使用for(int i; i<stack.size();i++)因为stack.size()在数据出栈操作后会变化。 /*** public class ListNode {* 阅读全文
摘要:
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 *StringBuffer 扩容 str.setLength(扩容大小) *思路:将原字符数组扩容至目标大小后,从后往前移动字符串,可大大减 阅读全文
摘要:
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:从数组左下角开始判断,如果目标数据大于左下角数字,则列号右移(增加),若目标数字小于左下角数字,则行 阅读全文
摘要:
之前以为将一个自定义类型的实例赋值给Object类型后,如果再将Object强转为该实例类型,会导致属性丢失。今天自己写了个程序测试了一下,似乎并不会这样。程序如下: 从结果可以看出,更改的属性值并没有丢失。暂时先记下这个机制。有时间再查下原理。 阅读全文