![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
又刷题了
MoriMolly
这个作者很懒,什么都没留下…
展开
-
【2】删除已排序链表中重复的数
这道题目本身并不难,主要考虑的是链表的结构:数据 next 指向下一个的节点。输入的head是个头节点,从头开始找。指针指向head,即current = head;如果current节点指向的下一个current.next的数据相等,则使current跳过这个节点就行。怎么跳过?让他指向下一个的下一个再进行一次数据判断即可。一次次的对current指针往后“推”,直至current.ne...原创 2018-09-04 15:04:55 · 93 阅读 · 0 评论 -
n&(n-1)
按位与的知识n&(n-1)作用:将n的二进制表示中的最低位为1的改为0,先看一个简单的例子:n = 10100(二进制),则(n-1) = 10011 ==》n&(n-1) = 10000可以看到原本最低位为1的那位变为0。弄明白了n&(n-1)的作用,那它有哪些应用?--------------------------------------------------...转载 2019-05-22 10:28:37 · 6596 阅读 · 1 评论 -
【4】二叉树相等
题目理解:检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。考虑递归比较两个根节点值是否相同,如果相同,再判断他们的左子树和右子树是否一致(比较值再比较左右)递归!递归!public class Solution { public boolean isSame(TreeNode a, TreeNode b) { ...原创 2018-09-14 10:47:33 · 374 阅读 · 0 评论 -
【5】Java运行顺序问题
最近在刷牛客网的题目中发现一道比较有意思的题目,考的是运行的顺序问题,现拿出来做一个探讨;题目代码如下:public class Test { public static void main(String [] args){ System.out.println(new B().getValue()); } static class...原创 2018-09-18 14:38:08 · 382 阅读 · 0 评论 -
【3】合并排序数组
public void mergeSortedArray(int[] A, int m, int[] B, int n) { int i = m-1, j = n-1, index = m + n - 1;//从最后一位开始搞 while (i >= 0 && j >= 0) { if (A[i] > B...原创 2018-09-10 17:23:40 · 73 阅读 · 0 评论 -
【1】二进制求和
输入: a = "11", b = "1"输出: "100"二进制的规则是 1+1 = 10,这个 10可以看成是1 和0拼起来,关键就是这两个数怎么来怎么拼。对应位置上的求和可以是 int sum = (int)(a.charAt(pa) - '0') + (int)(b.charAt(pb) - '0') + carries;把它拆掉:一部分为二进制的结果(利用对2取余数 ...原创 2018-08-30 17:31:06 · 592 阅读 · 0 评论 -
颠倒二进制位
190. 颠倒二进制位Copy for MarkdownDifficulty: 简单颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 4...原创 2019-05-22 10:53:26 · 400 阅读 · 0 评论