算法
yandao
“我是谁”、“我在哪”、“我要去哪儿”
展开
-
java奇偶性的判定
以下代码对于奇偶性的判定是否正确?i%2==1在大多数时间是正确的,但是至少有4分之一的时间是错误的如果是正整数,它是正确的如果是负整数,它有一半的时候是错误的负奇数对2求余得到的值是-1不是1所以可以用如下的代码判定奇偶性i%2==0也可以用位操作符& AND来代替:i & 1 == 0...原创 2020-09-23 20:38:37 · 442 阅读 · 0 评论 -
求一个正整数二进制中1的个数
思路:一个数与1作与运算则可以发现该数最后一位数为1,否则为0.然后做移位操作。 import java.util.*;public class Main { public int solution(int input) { int count=0;//1的个数 while(input!=0){ if ((input & 1) == 1) { count++; } input >>= 1; } retu原创 2020-09-21 16:28:18 · 235 阅读 · 1 评论 -
移动数组的后k个数
import java.util.*; public class Main { public int[] solution(int[] arr,int n,int k) { int[] arrtmp = new int[n]; for (int i = 0; i < k; i++) { arrtmp[i] = arr[n-k + i]; } for (int i = 0; i < n - k; i++) { arrtmp[i + k] = arr[i]原创 2020-09-21 16:01:31 · 91 阅读 · 0 评论 -
实现二叉树的先序,中序,后序遍历
题目描述分别按照二叉树先序,中序和后序打印所有的节点import java.util.*; class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null;} public class Solution { /** * * @param root TreeNode类 the root of binary tree * @return int整型二维数原创 2020-09-10 00:10:39 · 179 阅读 · 0 评论 -
算法-反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。package niuke;public class Solution { public ListNode ReverseList(ListNode head) { if(head == null || head.next == null) return head; ListNode newHead = head; while(head.next!=null){ Lis原创 2020-09-10 00:08:05 · 76 阅读 · 0 评论 -
算法-把二叉树打印成多行
题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。package niuke;import java.util.ArrayList;import java.util.Queue;import java.util.LinkedList;public class Solution { ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<Ar原创 2020-09-10 00:01:09 · 164 阅读 · 0 评论