leetcode
BabaloveU
这个作者很懒,什么都没留下…
展开
-
用反向波兰表示法计算算术表达式的值。
题目:用反向波兰表示法计算算术表达式的值。有效的运算符+,-,*,/。每个操作数可能是一个整数或另一个表达式。思路:逆波兰记法中,操作符置于操作数的后面。过程一般是:操作数入栈;遇到操作符时,操作数出栈,求值,将结果入栈;当一遍后,栈顶就是表达式的值。代码:public static int evalRPN(String[] tokens) { Stack<Integer&...转载 2018-03-30 20:55:08 · 747 阅读 · 0 评论 -
在二维平面上给定n点,找出在同一直线上的最大点数。
题目:在二维平面上给定n点,找出在同一直线上的最大点数。给出点的定义:public class Point { int x; int y; Point() { x = 0; y = 0; } Point(int a, int b) { x = a; y = b; }}思路:对于第i个点,从第1次,遍历i+1到最后一个点,判断与第i 个点的关系;从第2次,遍历i+2到最后一个点,判断与第i...转载 2018-04-01 21:21:28 · 3673 阅读 · 0 评论 -
在O(n log n)时间内使用常数空间复杂度对链表进行排序
题目:在O(n log n)时间内使用常数空间复杂度对链表进行排序。思路:归并排序代码:public ListNode sortList(ListNode head) { // 0个节点 || 1个节点 if (head == null || head.next == null) return head; // >= 2个节点 ListNode first =...原创 2018-04-10 21:20:25 · 4481 阅读 · 0 评论 -
找二叉树的最小深度
题目:给定一个二叉树,求它的最小深度。最小深度是沿着从根节点到最近的叶节点的最短路径的节点数。/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = ...转载 2018-03-29 11:22:48 · 205 阅读 · 0 评论 -
使用插入排序排序一个链表。
题目:使用插入排序排序一个链表。思路:什么是插入排序?每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。新建一个链表用于存放有序结果;指定一个遍历指针用于遍历原始无序链表,指向当前正在排序的节点;指定一个位置指针用于遍历有序链表,查找插入的位置,注意被排序节点与位置指针的后一个节点进行比较。代码:public class ListNode { in...原创 2018-04-18 20:36:04 · 255 阅读 · 0 评论