LeetCode
中原游侠
好好学习,天天向上。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode:《Evaluate Reverse Polish Notation》
#include #include #include #include using namespace std; class Solution { public: int evalRPN(vector &tokens) { // 大致思路:构造一个类似stack的容器,如果是操作数直接存进去,如果是操作符则计算后存进去 vector stack; vector::i原创 2014-11-07 19:58:21 · 450 阅读 · 0 评论 -
LeetCode 13:"Roman to Integer"
Thinking使用迭代的思想,简化程序Codeclass Solution { public: int romanToInt(string s) { // 判断s为空时 if (s == "") { return 0; } int num = 0; // 获取尾部字符原创 2015-06-09 21:52:54 · 530 阅读 · 0 评论 -
LeetCode 10:《Regular Expression Matching》
参考文章:http://articles.leetcode.com/2011/09/regular-expression-matching.htmlLeetCode 10:《Regular Expression Matching》参考C语言代码实现,Java代码实现方式如下: public boolean isMatch(String s, String p) { //原创 2015-03-26 20:42:02 · 602 阅读 · 0 评论 -
LeetCode:《Min Stack》
#include #include using namespace std; class MinStack { public: void push(int x) { if(min.empty() || min.top() >= x) { min.push(x); } my_stack.push(x); } void pop() { if(!my_st原创 2014-11-19 20:12:21 · 500 阅读 · 0 评论 -
LeetCode 9:《Palindrome Number》
编程思路:没什么好说的,注意处理overflow,详见下面Python代码: class Solution: # @return a boolean def isPalindrome(self, x): # 负数不会是回文数 if x < 0: return False result = ''原创 2015-01-12 21:44:25 · 477 阅读 · 0 评论 -
LeetCode 8:《String to Integer (atoi) 》
编程思路:首先清除首尾空格,然后巧妙使用异常except,当字符不能转换成整数时,则进入except,Python实现代码如下: class Solution: # @return an integer def atoi(self, str): # 首先清除首尾空格 str = str.strip() # 如果是空原创 2015-01-12 21:40:59 · 860 阅读 · 0 评论 -
LeetCode 5:《Longest Palindromic Substring》
编程思路:使用Manacher算法 参考文章1:http://leetcode.com/2011/11/longest-palindromic-substring-part-ii.html 参考文章2:http://blog.youkuaiyun.com/adrastos/article/details/9093779# 参考文章1讲解很好,不过最后的总结有问题,更正一下,计算P[i]分三种情况: 1原创 2015-01-08 15:50:20 · 540 阅读 · 0 评论 -
LeetCode 7:《Reverse Integer》
编程思路:注意处理overflow class Solution: # @return an integer def reverse(self, x): result = '' abs_x = abs(x) # 整型转字符串,方便处理 s = str(abs_x) for i in range(len原创 2015-01-08 18:51:29 · 557 阅读 · 0 评论 -
LeetCode 6:《ZigZag Conversion》
编程思路:首先理解什么是ZigZag,所谓ZigZag就是N字型,生成ZigZag时,及时更新字符前进方向,详细介绍见下面的Python程序 class Solution: # @return a string def convert(self, s, nRows): # 只有一行时 if nRows == 1: retur原创 2015-01-08 18:14:17 · 543 阅读 · 0 评论 -
LeetCode 1:《Two Sum》
编程思路:尽量使用Python内置的函数,不要自己写浪费时间的多重循环,容易Time Limit Exceed!由题意假设只有一个结果,所以找到后及时退出! class Solution: # @return a tuple, (index1, index2) def twoSum(self, num, target): t = () for in原创 2015-01-06 21:57:51 · 582 阅读 · 0 评论 -
LeetCode 4:《Median of Two Sorted Arrays》
编程思路:两个数组进行比较,小的放入到新的数组中,然后步进,直到其中一个数组遍历结束,另外一个数组的剩余部分则直接赋值到新的数组中。 class Solution: # @return a float def findMedianSortedArrays(self, A, B): # A,B是已经排好序的数组,长度分别是m, n,找中位数,time complex原创 2015-01-07 19:18:10 · 494 阅读 · 0 评论 -
LeetCode 2:《Add Two Numbers》
编程思路:遍历两个两个链表,获得存储的整数值,进行加法运算,然后将结果存入链表中,返回链表的头。 import math # Definition for singly-linked list. class ListNode: def __init__(self, x): self.val = x self.next = None class Solu原创 2015-01-07 15:20:24 · 394 阅读 · 0 评论 -
LeetCode:《Excel Sheet Column Number 》
编程思路:类似于26进制的转换 class Solution: # @param s, a string # @return an integer def titleToNumber(self, s): d = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5, 'F':6, 'G':7, 'H':8, 'I':9,原创 2015-01-06 20:22:41 · 500 阅读 · 0 评论 -
LeetCode:《Excel Sheet Column Title》
编程思路:类似于26进制,但是又不是,26进制每位可以取值0-25,而此题取值1-26,所以处理的时候需要进行调整,以免出现零 class Solution: # @return a string def convertToTitle(self, num): li = list() d = {1:'A', 2:'B', 3:'C', 4:'D',原创 2015-01-06 20:19:59 · 657 阅读 · 0 评论 -
LeetCode 3:《Longest Substring Without Repeating Characters》
编程思路:及时更新list里面的内容,当出现重复值时,list将删除从开始到list中重复值处,此外也需注意处理到字符串结尾处。 class Solution: # @return an integer def lengthOfLongestSubstring(self, s): li = [] len_max = 0 for i原创 2015-01-07 16:23:03 · 435 阅读 · 0 评论 -
LeetCode 12:"Integer to Roman"
Thinking使用迭代的思想,简化程序Codeclass Solution { public: string intToRoman(int num) { // 初始化 string roman = ""; if (num == 1000) { roman = "M"; }原创 2015-06-09 21:51:14 · 507 阅读 · 0 评论
分享