摘要:题目:一开始没看懂,后头经过WA发现 输出 的意义 是 出现的次数+值。1 => 一个1 => 1111 => 两个1 => 21111=> 三个1 => 31。。。依次类推思路:用两个变量current和next,存储相邻元素的值,如果相同,往下移一位,此时计数器count++ , 直到curre...
阅读全文
摘要:中间被启程日本的面试弄的没有静下心来复习算法。这样不好,基本功是硬道理。逐步恢复刷题。题目:给一个数独(九宫格)中的一些数字,判断该数独是否有效。 即按照数独的规则,判断其行、列、小九格中是否有重复的数字。如有,即判断无效。直接给代码吧,长期没刷题,代码质量有所下降。 1 public bo...
阅读全文
摘要:题目:查找元素target插入一个数组中的位置。代码:public int searchInsert(int[] A, int target) { int len = A.length; int i; for(i = 0 ; i < len ; i++){ ...
阅读全文
摘要:题目:合并两个有序单链表思路:一开始想复杂了,以为必须在原链表上修改(绕来绕去还AC了,但是思路相当绕),其实没有,按照正常地合并两个数组同样的方法也对。代码:public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 ...
阅读全文
摘要:题目:判断给定字符串中的括号是否合法。题目中涉及三种符号'(' + ')' , '[' + ']' , '{' + '}'。思路:利用stack来存储符号。 注意申请char型stack是: Stack op = new Stack(); stack.peek() 查看栈顶元素,但是不弹出...
阅读全文
摘要:问题:寻找最长公共前缀思路:就是逐一检查每个string中的每一位,碰到不相等的时候,结束;每个string中这一位都相等,加入到common prefix中~public String longestCommonPrefix(String[] strs) { int ...
阅读全文
摘要:题目:移除linked-list从尾到头的第N个元素自我思路:因为题目给出的N是从链表尾开始计算的,单链表不存在从子指向父亲的反向指针,因此我先计算链表的整个长度len,然后用len - N来表示正向被删除元素所在的位置。代码:public ListNode removeNthFromEnd(Lis...
阅读全文
摘要:题目:给定一个罗马数字串,转换为一个整数。一开始没理解,以为是string to int。后来理解:罗马数字与阿拉伯数字的映射关系,见下图:至此,题目的意思才掌握明白,用程序模拟这张表。无可置否,需要将这张表的映射关系存进一个map中,对输入的string查找map中的映射关系。先贴上代码:(注:s...
阅读全文
摘要:判断integer是否为回文串(负数全部不为回文串)思路很直接,提取出integer中的每一位,一头一尾进行比较是否相同。一次AC , 直接上代码:public boolean isPalindrome(int x) { if(x = 0 && x 0){ ...
阅读全文
摘要:非常考虑思维全面性的一道题,考验是否能够考虑本问题的方方面面。题目:将一个string转换为int。实现函数atoi()的功能。先应该明确atoi()有哪些特殊功能:(正常的正负数情况我就不列了)inputoutput”+1“1” + 1“0(error了)” 1“1(前头只有空格是合法的...
阅读全文
摘要:第五道树题,10分钟之内一遍AC。做树题越来越有feel~题目:求一棵树从root结点到叶子结点的最短路径。思路:仍然是递归。如果一个结点的左右子树任意一边为Null,该子树的minDepth应为非null子树的高度+1;如果一个结点的左右子树两边都非Null,则该子树的minDepth应为两个子树...
阅读全文
摘要:第四道树题,逐渐能写递归了。虽然最后AC的代码还是看了网络,但是距离成功攻克此类问题仅一步之遥。题目:一棵树,判断是否为AVL。(AVL条件:树上任意一点的左右子树的高度差_ 1 ) return false; else return isBalanced(root.lef...
阅读全文
摘要:经历了三道树的题后,完全崩溃中,急需一道非树图的题来挽救信心。题目:反转数字。input : 123 , output : 321.思路:直接,没什么好说的。自己代码:很龊,有大量的冗余信息,还申请了一个List,虽然AC了,但有很大改进空间。public int reverse(int x) { ...
阅读全文
摘要:第三道树的题目,我还是不会,我擦,怎么递归算法还是不能很好理解。看来还得好好研究下递归算法。题目:求一棵树的最大深度。思路:递归地求取左子树最大深度 和 右子树最大深度,返回较大值即为 整棵树的 最大深度。代码:public int maxDepth(TreeNode root) { ...
阅读全文
摘要:第二道树的题目,依旧不会做,谷歌经验。题目解释: give you a tree , judge if it is a symmetric tree.思路:我以为要写个中序遍历(进阶学习非递归算法)什么的,Wrong Answer。解题思路:如果 左子树的值 等于 右子树的值,并且该左子树的左子树 ...
阅读全文
摘要:第一次遇见Tree的题,拿到心慌,网上查了解题思路。写完就三行。。最近努力学习一句话,学会喜欢自己。题目:give two tree , you must judge if they are the same tree. ensure they are the same tree structure...
阅读全文