![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
羊抑
Be Stronger.
展开
-
[LeetCode]Add Digits
Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.For example:Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has on原创 2017-04-19 11:01:09 · 185 阅读 · 0 评论 -
[LeetCode]Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the sam原创 2017-04-12 19:36:37 · 118 阅读 · 0 评论 -
面试题5:从头到尾打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。思路1:遍历一遍链表,将结点存入栈中,最后弹出栈中元素。public void reverseListNode(ListNode listNode) { Stack stack=new Stack(); if(listNode==null) return; while(listNode!=nu原创 2017-11-07 21:16:54 · 137 阅读 · 0 评论 -
树的基础知识
对于任意节点i,i的深度为根到该节点i的唯一路径的长,根的深度为0,树的深度等于最深的树叶的深度;i的高度为节点i到一片树叶的最长路径的长,所有树叶的高度为0,一棵树的高等于根的高;树的深度=树的高。1.树的实现原创 2017-11-13 11:17:18 · 150 阅读 · 0 评论 -
二叉树的层次遍历
进行层次遍历时,对一层结点访问完后,再按照它们的访问次序对各个结点的左孩子右孩子顺序访问,这样就完成了对下一层从左往右访问。具体步骤如下:(1)初始化一个队列;(2)将根节点放入队列;(3)重复步骤4~7直到队列为空;(4)从队列中取出一个结点x;(5)访问x;(6)如果x存在左孩子,将左孩子放入队列;(7)如果x存在右孩子,将右孩子放入队列;public vo原创 2017-11-22 21:31:05 · 286 阅读 · 0 评论 -
折纸问题
题目:给一个很长很窄的纸条,把纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开,此时折痕是凹下去的,也就是突起的方向指向纸条的下方; 如果从纸条的下边向上方对折2次,压出折痕后展开,此时有三条折痕,从上到下依次是:下折痕、下折痕、上折痕; 如果纸条每次都从下边向上方对折,在对折n次之后展开。此时所有折痕突起的方向是什么样的呢? 请写一个函数,输入一个整数代表纸条的对折次数记为fT...原创 2018-02-26 17:57:38 · 203 阅读 · 0 评论 -
不用比较运算符判断数的大小
题目:给定两个数a和b, 如何不用比较运算符, 返回较大的数思路:解法1:用位运算来替代条件运算符;令a-b=c,通过位运算判断c的符号scA,正为1,负为0,scB为scA取反;则较大的数为a*scA+b*scB解法2:在1的基础上考虑溢出的问题,只有符号不同相减时可能产生溢出;因此判断a较大的情况为 a b符号不同,a为正数或者a b符号相同 a-b=c c的符号为正。java实现:publi...原创 2018-03-06 12:45:45 · 3225 阅读 · 0 评论