
笔试题
Bonnie i
这个作者很懒,什么都没留下…
展开
-
LeetCode 226. 翻转二叉树
class Solution { public TreeNode invertTree(TreeNode root) { if(root==null){ return null; } //交换左右节点 TreeNode temp = root.left; root.left = root.right; root.right = temp; //递归 .原创 2020-09-23 00:20:39 · 134 阅读 · 0 评论 -
【面试必考系列】合并两个有序链表
1、递归法//1、递归法 public ListNode mergeTwoLists (ListNode l1, ListNode l2) { // write code here if(l1==null){ return l2; } if(l2==null){ return l1; } //注意等号别忘了 if(l1.val<=l原创 2020-09-21 21:16:39 · 136 阅读 · 0 评论 -
【面试必考系列】判断环形链表
public boolean hasCycle(ListNode head) { //快慢指针,如果满快指针先到达末尾,证明无环 if(head==null|| head.next==null){ return false; } ListNode slow = head; ListNode fast = head.next; while (slow!=fast){ ...原创 2020-09-21 20:39:46 · 158 阅读 · 0 评论 -
LeetCode 572. 另一个树的子树
给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。class Solution { public boolean isSubtree(TreeNode s, TreeNode t) { if(s==null || t==null){ return false; } //如果t就是s本身原创 2020-09-21 16:41:03 · 136 阅读 · 0 评论 -
LeetCode 100. 相同的树
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if(p==null && q==null){ return true; } if(p!=null && q!=null &&原创 2020-09-21 16:04:15 · 204 阅读 · 0 评论 -
求第k 层节点个数
/** * 求第k 层节点个数 * 思路:左子树第K层+右子树第K层 递归 * */ int getKLevelSize(Node root,int k){ if(root == null){ return 0; }else if(k==1){ return 1; }else { return getKLevelSize(root.left,原创 2020-09-21 15:26:52 · 211 阅读 · 0 评论 -
LeetCode 104. 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。int getHight(Node root){ if(root==null){ return 0; } int left = getHight(root.left); int right = getHight(root.right); return Math.max(le原创 2020-09-21 15:25:45 · 159 阅读 · 0 评论 -
求二叉树叶子节点的个数
static int leafSize = 0; //求叶子节点的个数 遍历思路 左孩子=右孩子=null int getLeafSize(Node root){ if(root ==null){ return 0; } if(root.left==null && root.right == null){ leafSize++; } getLeafS原创 2020-09-21 14:39:51 · 310 阅读 · 0 评论 -
求二叉树节点个数的两种方法
static int size = 0; //求节点个数 思路一:前序遍历 public void getSize(Node root){ //求节点个数,前序遍历,只要root!=null size++ if(root==null){ return ; } size++; getSize(root.left); getSize(root.right); }原创 2020-09-21 14:39:05 · 2196 阅读 · 0 评论 -
二叉树的三种遍历方式(递归)
递归法public class Leetcode_94 { class TreeNode{ int val; TreeNode left; TreeNode right; public TreeNode(int val){ this.val = val; } public TreeNode(int val,TreeNode left,TreeNode right){原创 2020-09-21 14:38:04 · 155 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
题目描述:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 target = 5,返回 true。给定 tar原创 2020-09-20 14:48:10 · 143 阅读 · 1 评论 -
剑指offer 03.数组中重复的数字
题目描述:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3思路一:将数组元素挨个存入set集合中,检查是否包含这个元素,如果不包含就添加,当存不进去时就是重复的元素。class Solution { public int findRepeatNumb原创 2020-09-20 14:06:42 · 163 阅读 · 0 评论 -
LeetCode 22.黑白方格画
题目描述:小扣注意到秋日市集上有一个创作黑白方格画的摊位。摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动。画板上有 n * n 的网格。绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色,所选行数、列数均可为 0。小扣希望最终的成品上需要有 k 个黑色格子,请返回小扣共有多少种涂色方案。注意:两个方案中任意一个相同位置的格子颜色不同,就视为不同的方案思路:假设选择了a行b列,那么此时所图的格子个数sum=(a+b)n-ab,a*b是重复的格子数。选择a行的组合数就是C原创 2020-09-20 13:39:28 · 476 阅读 · 0 评论 -
2020-9-14 【58同城】笔试题
1、输入:AAABBCCDDFHIFOWS输出:A=3 B= C=2、输入:123456789输出:567858数规则:[5,6,7,8] 且长度>=2 连续原创 2020-09-19 22:58:41 · 275 阅读 · 0 评论 -
2020-09-06【老虎集团】测试工程师笔试题
1、输入两个字符串,从第一个字符串删除第二个字符串中所有的字符例如:输入:welcome to my homeaeiou输出:wlcm t my hm思路:遍历str1,将除了str2的字符放入list集合中,输出集合元素即可。public class removeChar { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String原创 2020-09-19 22:43:31 · 448 阅读 · 0 评论 -
2020-09-19米哈游测试开发笔试编程题
1、旋转字符游戏:给定两个整数M,N,生成一个M*N的矩阵,矩阵中元素取值为A-Z的26个字母中的一个,A在左上角,其余各数按顺时针方向旋转前进,依次递增放置,当超过Z时,又从A开始填充。例如,当M=5,N=8时。矩阵中的内容如下:A B C D E F G HV W X Y Z A B IU J K L M N C JT I H G F E D KS R Q P O N M L输入:一行字符串,包含两个M,N,M和N均为大于0,小于10000的整数,M表示行,N表示列。输出:M*N的矩阵原创 2020-09-19 22:11:27 · 4096 阅读 · 1 评论