3c43f2232967040a0b40744102082b8b908e091d.svn-base 922 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. )
  6. func main(){
  7. PathCheck("D:/11")
  8. }
  9. type TreeNode struct {
  10. Val int
  11. Left *TreeNode
  12. Right *TreeNode
  13. }
  14. func convertBST(root *TreeNode) *TreeNode {
  15. node := root
  16. stack := []*TreeNode{}
  17. sum := 0
  18. for node != nil || len(stack)>0 {
  19. for node != nil {
  20. stack = append(stack,node)
  21. node = node.Right
  22. }
  23. tem := stack[len(stack)-1]
  24. stack = stack[:len(stack)-1]
  25. sum += tem.Val
  26. tem.Val = sum
  27. node = tem.Left
  28. }
  29. return root
  30. }
  31. func PathCheck(path string){
  32. b,err :=PathExists(path)
  33. if err != nil {
  34. fmt.Println("exist err",err)
  35. }
  36. if !b{
  37. fmt.Println("不存在目录,重新创建")
  38. err = os.Mkdir("D:/11/", 0777)
  39. if err != nil {
  40. fmt.Println("Mkdir err",err)
  41. }
  42. }
  43. }
  44. func PathExists(path string) (bool, error) {
  45. _, err := os.Stat(path)
  46. if err == nil {
  47. return true, nil
  48. }
  49. if os.IsNotExist(err) {
  50. return false, nil
  51. }
  52. return false, err
  53. }