8000 leetcode/src/simplifyPath/simplifyPath.cpp at master · miffa/leetcode · GitHub
[go: up one dir, main page]

Skip to content
{"payload":{"allShortcutsEnabled":false,"fileTree":{"src/simplifyPath":{"items":[{"name":"simplifyPath.cpp","path":"src/simplifyPath/simplifyPath.cpp","contentType":"file"}],"totalCount":1},"src":{"items":[{"name":"3Sum","path":"src/3Sum","contentType":"directory"},{"name":"3SumClosest","path":"src/3SumClosest","contentType":"directory"},{"name":"4Sum","path":"src/4Sum","contentType":"directory"},{"name":"LRUCache","path":"src/LRUCache","contentType":"directory"},{"name":"addBinary","path":"src/addBinary","contentType":"directory"},{"name":"addTwoNumbers","path":"src/addTwoNumbers","contentType":"directory"},{"name":"anagrams","path":"src/anagrams","contentType":"directory"},{"name":"balancedBinaryTree","path":"src/balancedBinaryTree","contentType":"directory"},{"name":"bestTimeToBuyAndSellStock","path":"src/bestTimeToBuyAndSellStock","contentType":"directory"},{"name":"binaryTreeInorderTraversal","path":"src/binaryTreeInorderTraversal","contentType":"directory"},{"name":"binaryTreeLevelOrderTraversal","path":"src/binaryTreeLevelOrderTraversal","contentType":"directory"},{"name":"binaryTreeMaximumPathSum","path":"src/binaryTreeMaximumPathSum","contentType":"directory"},{"name":"binaryTreePostorderTraversal","path":"src/binaryTreePostorderTraversal","contentType":"directory"},{"name":"binaryTreePreorderTraversal","path":"src/binaryTreePreorderTraversal","contentType":"directory"},{"name":"binaryTreeZigzagLevelOrderTraversal","path":"src/binaryTreeZigzagLevelOrderTraversal","contentType":"directory"},{"name":"candy","path":"src/candy","contentType":"directory"},{"name":"climbStairs","path":"src/climbStairs","contentType":"directory"},{"name":"cloneGraph","path":"src/cloneGraph","contentType":"directory"},{"name":"combinationSum","path":"src/combinationSum","contentType":"directory"},{"name":"combinations","path":"src/combinations","contentType":"directory"},{"name":"constructBinaryTreeFromInorderAndPostorderTraversal","path":"src/constructBinaryTreeFromInorderAndPostorderTraversal","contentType":"directory"},{"name":"constructBinaryTreeFromPreorderAndInorderTraversal","path":"src/constructBinaryTreeFromPreorderAndInorderTraversal","contentType":"directory"},{"name":"containerWithMostWater","path":"src/containerWithMostWater","contentType":"directory"},{"name":"convertSortedArrayToBinarySearchTree","path":"src/convertSortedArrayToBinarySearchTree","contentType":"directory"},{"name":"convertSortedListToBinarySearchTree","path":"src/convertSortedListToBinarySearchTree","contentType":"directory"},{"name":"copyListWithRandomPointer","path":"src/copyListWithRandomPointer","contentType":"directory"},{"name":"countAndSay","path":"src/countAndSay","contentType":"directory"},{"name":"decodeWays","path":"src/decodeWays","contentType":"directory"},{"name":"distinctSubsequences","path":"src/distinctSubsequences","contentType":"directory"},{"name":"divideTwoInt","path":"src/divideTwoInt","contentType":"directory"},{"name":"editDistance","path":"src/editDistance","contentType":"directory"},{"name":"evaluateReversePolishNotation","path":"src/evaluateReversePolishNotation","contentType":"directory"},{"name":"findMinimumInRotatedSortedArray","path":"src/findMinimumInRotatedSortedArray","contentType":"directory"},{"name":"firstMissingPositive","path":"src/firstMissingPositive","contentType":"directory"},{"name":"flattenBinaryTreeToLinkedList","path":"src/flattenBinaryTreeToLinkedList","contentType":"directory"},{"name":"gasStation","path":"src/gasStation","contentType":"directory"},{"name":"generateParentheses","path":"src/generateParentheses","contentType":"directory"},{"name":"grayCode","path":"src/grayCode","contentType":"directory"},{"name":"insertInterval","path":"src/insertInterval","contentType":"directory"},{"name":"insertionSortList","path":"src/insertionSortList","contentType":"directory"},{"name":"integerToRoman","path":"src/integerToRoman","contentType":"directory"},{"name":"interleavingString","path":"src/interleavingString","contentType":"directory"},{"name":"jumpGame","path":"src/jumpGame","contentType":"directory"},{"name":"largestRectangleInHistogram","path":"src/largestRectangleInHistogram","contentType":"directory"},{"name":"lengthOfLastWord","path":"src/lengthOfLastWord","contentType":"directory"},{"name":"letterCombinationsOfAPhoneNumber","path":"src/letterCombinationsOfAPhoneNumber","contentType":"directory"},{"name":"linkedListCycle","path":"src/linkedListCycle","contentType":"directory"},{"name":"longestCommonPrefix","path":"src/longestCommonPrefix","contentType":"directory"},{"name":"longestConsecutiveSequence","path":"src/longestConsecutiveSequence","contentType":"directory"},{"name":"longestPalindromicSubstring","path":"src/longestPalindromicSubstring","contentType":"directory"},{"name":"longestSubstringWithoutRepeatingCharacters","path":"src/longestSubstringWithoutRepeatingCharacters","contentType":"directory"},{"name":"longestValidParentheses","path":"src/longestValidParentheses","contentType":"directory"},{"name":"maxPointsOnALine","path":"src/maxPointsOnALine","contentType":"directory"},{"name":"maximalRectangle","path":"src/maximalRectangle","contentType":"directory"},{"name":"maximumDepthOfBinaryTree","path":"src/maximumDepthOfBinaryTree","contentType":"directory"},{"name":"maximumProductSubarray","path":"src/maximumProductSubarray","contentType":"directory"},{"name":"maximumSubArray","path":"src/maximumSubArray","contentType":"directory"},{"name":"medianOfTwoSortedArrays","path":"src/medianOfTwoSortedArrays","contentType":"directory"},{"name":"mergeIntervals","path":"src/mergeIntervals","contentType":"directory"},{"name":"mergeKSortedLists","path":"src/mergeKSortedLists","contentType":"directory"},{"name":"mergeTwoSortedArray","path":"src/mergeTwoSortedArray","contentType":"directory"},{"name":"mergeTwoSortedList","path":"src/mergeTwoSortedList","contentType":"directory"},{"name":"minimumDepthOfBinaryTree","path":"src/minimumDepthOfBinaryTree","contentType":"directory"},{"name":"minimumPathSum","path":"src/minimumPathSum","contentType":"directory"},{"name":"minimumWindowSubstring","path":"src/minimumWindowSubstring","contentType":"directory"},{"name":"multiplyStrings","path":"src/multiplyStrings","contentType":"directory"},{"name":"nQueens","path":"src/nQueens","contentType":"directory"},{"name":"nextPermutation","path":"src/nextPermutation","contentType":"directory"},{"name":"palindromeNumber","path":"src/palindromeNumber","contentType":"directory"},{"name":"palindromePartitioning","path":"src/palindromePartitioning","contentType":"directory"},{"name":"partitionList","path":"src/partitionList","contentType":"directory"},{"name":"pascalTriangle","path":"src/pascalTriangle","contentType":"directory"},{"name":"pathSum","path":"src/pathSum","contentType":"directory"},{"name":"permutationSequence","path":"src/permutationSequence","contentType":"directory"},{"name":"permutations","path":"src/permutations","contentType":"directory"},{"name":"plusOne","path":"src/plusOne","contentType":"directory"},{"name":"populatingNextRightPointersInEachNode","path":"src/populatingNextRightPointersInEachNode","contentType":"directory"},{"name":"pow","path":"src/pow","contentType":"directory"},{"name":"recoverBinarySearchTree","path":"src/recoverBinarySearchTree","contentType":"directory"},{"name":"regularExpressionMatching","path":"src/regularExpressionMatching","contentType":"directory"},{"name":"removeDuplicatesFromSortedArray","path":"src/removeDuplicatesFromSortedArray","contentType":"directory"},{"name":"removeDuplicatesFromSortedList","path":"src/removeDuplicatesFromSortedList","contentType":"directory"},{"name":"removeElement","path":"src/removeElement","contentType":"directory"},{"name":"removeNthNodeFromEndOfList","path":"src/removeNthNodeFromEndOfList","contentType":"directory"},{"name":"reorderList","path":"src/reorderList","contentType":"directory"},{"name":"restoreIPAddresses","path":"src/restoreIPAddresses","contentType":"directory"},{"name":"reverseInteger","path":"src/reverseInteger","contentType":"directory"},{"name":"reverseLinkedList","path":"src/reverseLinkedList","contentType":"directory"},{"name":"reverseNodesInKGroup","path":"src/reverseNodesInKGroup","contentType":"directory"},{"name":"reverseWordsInAString","path":"src/reverseWordsInAString","contentType":"directory"},{"name":"romanToInteger","path":"src/romanToInteger","contentType":"directory"},{"name":"rotateImage","path":"src/rotateImage","contentType":"directory"},{"name":"rotateList","path":"src/rotateList","contentType":"directory"},{"name":"sameTree","path":"src/sameTree","contentType":"directory"},{"name":"scrambleString","path":"src/scrambleString","contentType":"directory"},{"name":"search2DMatrix","path":"src/search2DMatrix","contentType":"directory"},{"name":"searchForRange","path":"src/searchForRange","contentType":"directory"},{"name":"searchInRotatedSortedArray","path":"src/searchInRotatedSortedArray","contentType":"directory"},{"name":"searchInsertPosition","path":"src/searchInsertPosition","contentType":"directory"},{"name":"setMatrixZeroes","path":"src/setMatrixZeroes","contentType":"directory"},{"name":"simplifyPath","path":"src/simplifyPath","contentType":"directory"},{"name":"singleNumber","path":"src/singleNumber","contentType":"directory"},{"name":"sortColors","path":"src/sortColors","contentType":"directory"},{"name":"sortList","path":"src/sortList","contentType":"directory"},{"name":"spiralMatrix","path":"src/spiralMatrix","contentType":"directory"},{"name":"sqrt","path":"src/sqrt","contentType":"directory"},{"name":"strStr","path":"src/strStr","contentType":"directory"},{"name":"stringToIntegerAtoi","path":"src/stringToIntegerAtoi","contentType":"directory"},{"name":"subsets","path":"src/subsets","contentType":"directory"},{"name":"substringWithConcatenationOfAllWords","path":"src/substringWithConcatenationOfAllWords","contentType":"directory"},{"name":"sudokuSolver","path":"src/sudokuSolver","contentType":"directory"},{"name":"sumRootToLeafNumber","path":"src/sumRootToLeafNumber","contentType":"directory"},{"name":"surroundedRegions","path":"src/surroundedRegions","contentType":"directory"},{"name":"swapNodesInPairs","path":"src/swapNodesInPairs","contentType":"directory"},{"name":"symmetricTree","path":"src/symmetricTree","contentType":"directory"},{"name":"textJustification","path":"src/textJustification","contentType":"directory"},{"name":"trappingRainWater","path":"src/trappingRainWater","contentType":"directory"},{"name":"triangle","path":"src/triangle","contentType":"directory"},{"name":"twoSum","path":"src/twoSum","contentType":"directory"},{"name":"uniqueBinarySearchTrees","path":"src/uniqueBinarySearchTrees","contentType":"directory"},{"name":"uniquePaths","path":"src/uniquePaths","contentType":"directory"},{"name":"validNumber","path":"src/validNumber","contentType":"directory"},{"name":"validPalindrome","path":"src/validPalindrome","contentType":"directory"},{"name":"validParentheses","path":"src/validParentheses","contentType":"directory"},{"name":"validSudoku","path":"src/validSudoku","contentType":"directory"},{"name":"validateBinarySearchTree","path":"src/validateBinarySearchTree","contentType":"directory"},{"name":"wildcardMatching","path":"src/wildcardMatching","contentType":"directory"},{"name":"wordBreak","path":"src/wordBreak","contentType":"directory"},{"name":"wordLadder","path":"src/wordLadder","contentType":"directory"},{"name":"wordSearch","path":"src/wordSearch","contentType":"directory"},{"name":"zigZagConversion","path":"src/zigZagConversion","contentType":"directory"}],"totalCount":131},"":{"items":[{"name":"src","path":"src","contentType":"directory"},{"name":"README.md","path":"README.md","contentType":"file"}],"totalCount":2}},"fileTreeProcessingTime":98.198145,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":25857062,"defaultBranch":"master","name":"leetcode","ownerLogin":"miffa","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2014-10-28T07:03:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4045546?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1615741789.119309","canEdit":false,"refType":"branch","currentOid":"540738b55bfdc49eba05ed8dce45631e3758ba1b"},"path":"src/simplifyPath/simplifyPath.cpp","currentUser":null,"blob":{"rawLines":["// Source : https://oj.leetcode.com/problems/simplify-path/","// Author : Hao Chen","// Date : 2014-10-09","","/********************************************************************************** ","* ","* Given an absolute path for a file (Unix-style), simplify it.","* ","* For example,","* path = \"/home/\", =\u003e \"/home\"","* path = \"/a/./b/../../c/\", =\u003e \"/c\"","* ","* ","* Corner Cases:","* ","* Did you consider the case where path = \"/../\"?","* In this case, you should return \"/\".","* Another corner case is the path might contain multiple slashes '/' together, such as \"/home//foo/\".","* In this case, you should ignore redundant slashes and return \"/home/foo\".","* ","* ","**********************************************************************************/","","#include \u003ciostream\u003e","#include \u003cstring\u003e","#include \u003cvector\u003e","#include \u003csstream\u003e","using namespace std;","","","vector\u003cstring\u003e \u0026split(const string \u0026s, char delim, vector\u003cstring\u003e \u0026elems) {"," stringstream ss(s);"," string item;"," while (getline(ss, item, delim)) {"," elems.push_back(item);"," }"," return elems;","}","","","vector\u003cstring\u003e split(const string \u0026s, char delim) {"," vector\u003cstring\u003e elems;"," split(s, delim, elems);"," return elems;","}","","","string simplifyPath(string path) {",""," string result;"," vector\u003cstring\u003e elems = split(path, '/'); "," "," int ignor = 0;"," for(int i=elems.size()-1; i\u003e=0; i--) {"," "," if (elems[i]==\"\" || elems[i]==\".\" ){"," continue;"," }"," if (elems[i]==\"..\"){"," ignor++;"," continue;"," }"," if (ignor\u003e0){"," ignor--;"," continue;"," }"," if (result.size()==0){"," result = \"/\" + elems[i];"," }else{ "," result = \"/\" + elems[i] + result;"," }"," }",""," return result.size() ? result : \"/\";"," ","}","","int main(int argc, char** argv)","{"," string path(\"/a/./b/../../c/\");"," if (argc \u003e 1 ){"," path = argv[1];"," }",""," cout \u003c\u003c path \u003c\u003c \" : \" \u003c\u003c simplifyPath(path) \u003c\u003c endl;","}"],"stylingDirectives":[[[0,59,"pl-c"],[0,2,"pl-c"]],[[0,20,"pl-c"],[0,2,"pl-c"]],[[0,22,"pl-c"],[0,2,"pl-c"]],[],[[0,84,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"]],[[0,62,"pl-c"]],[[0,2,"pl-c"]],[[0,14,"pl-c"]],[[0,29,"pl-c"]],[[0,35,"pl-c"]],[[0,2,"pl-c"]],[[0,2,"pl-c"]],[[0,15,"pl-c"]],[[0,2,"pl-c"]],[[0,48,"pl-c"]],[[0,38,"pl-c"]],[[0,101,"pl-c"]],[[0,75,"pl-c"]],[[0,2,"pl-c"]],[[0,16,"pl-c"]],[[0,83,"pl-c"],[81,83,"pl-c"]],[],[[1,8,"pl-k"],[9,19,"pl-s"],[9,10,"pl-pds"],[18,19,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[0,5,"pl-k"],[6,15,"pl-k"],[16,19,"pl-en"],[19,20,"pl-k"]],[],[],[[16,21,"pl-en"],[22,27,"pl-k"],[39,43,"pl-k"]],[[17,19,"pl-smi"]],[],[[4,9,"pl-k"],[11,18,"pl-c1"]],[[14,23,"pl-c1"]],[],[[4,10,"pl-k"]],[],[],[],[[15,20,"pl-en"],[21,26,"pl-k"],[38,42,"pl-k"]],[],[[4,9,"pl-c1"]],[[4,10,"pl-k"]],[],[],[],[[7,19,"pl-en"]],[],[],[[27,32,"pl-c1"],[39,42,"pl-s"],[39,40,"pl-pds"],[41,42,"pl-pds"]],[],[[4,7,"pl-k"],[16,17,"pl-c1"]],[[4,7,"pl-k"],[8,11,"pl-k"],[20,24,"pl-c1"],[27,28,"pl-c1"],[33,34,"pl-c1"]],[],[[8,10,"pl-k"],[22,24,"pl-s"],[22,23,"pl-pds"],[23,24,"pl-pds"],[38,41,"pl-s"],[38,39,"pl-pds"],[40,41,"pl-pds"]],[[12,20,"pl-k"]],[],[[8,10,"pl-k"],[22,26,"pl-s"],[22,23,"pl-pds"],[25,26,"pl-pds"]],[],[[12,20,"pl-k"]],[],[[8,10,"pl-k"],[18,19,"pl-c1"]],[],[[12,20,"pl-k"]],[],[[8,10,"pl-k"],[19,23,"pl-c1"],[27,28,"pl-c1"]],[[21,24,"pl-s"],[21,22,"pl-pds"],[23,24,"pl-pds"]],[[9,13,"pl-k"]],[[21,24,"pl-s"],[21,22,"pl-pds"],[23,24,"pl-pds"]],[],[],[],[[4,10,"pl-k"],[19,23,"pl-c1"],[37,40,"pl-s"],[37,38,"pl-pds"],[39,40,"pl-pds"]],[],[],[],[[0,3,"pl-k"],[4,8,"pl-en"],[9,12,"pl-k"],[19,23,"pl-k"]],[],[[11,15,"pl-smi"],[16,33,"pl-s"],[16,17,"pl-pds"],[32,33,"pl-pds"]],[[4,6,"pl-k"],[15,16,"pl-c1"]],[[20,21,"pl-c1"]],[],[],[[20,25,"pl-s"],[20,21,"pl-pds"],[24,25,"pl-pds"],[29,41,"pl-c1"]],[]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/miffa/leetcode/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"simplifyPath.cpp","displayUrl":"https://github.com/miffa/leetcode/blob/master/src/simplifyPath/simplifyPath.cpp?raw=true","headerInfo":{"blobSize":"1.92 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"be8c26f","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fmiffa%2Fleetcode%2Fblob%2Fmaster%2Fsrc%2FsimplifyPath%2FsimplifyPath.cpp","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"86","truncatedSloc":"71"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"C++","languageID":43,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/miffa/leetcode/blob/master/src/simplifyPath/simplifyPath.cpp","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/miffa/leetcode/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/miffa/leetcode/raw/refs/heads/master/src/simplifyPath/simplifyPath.cpp","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":null},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/miffa/leetcode/branches":{"post":"bPJFa9DQIEMgnYnbNRFy4o7jNCmySaPmvoUMyRUlXkIxXMZfaFQytqgMPc4NngUwm3BOF8E7r2MNHHKujGlI5g"},"/repos/preferences":{"post":"7JyRtN7VHjcb3PcMFYUYE-NpxnjwS4XHcN9fkniRMvZr0mqYARU2xHCkX_eb5GkVIzqzdrevPcYBdEnIx2rlXg"}}},"title":"leetcode/src/simplifyPath/simplifyPath.cpp at master · miffa/leetcode","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1b17b3e7786a.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}
0